0

所以我有一个 ADO.NET 对象,用于通过数据上下文访问数据库。

我在 2 个具有非常相似架构的独立数据库中拥有测试数据。我正在考虑从 2 个数据库创建 2 个模型。但我不确定“切换”模型最简单的方法是什么。

理想情况下,我希望能够通过更改 1 行代码来切换上下文。切换仅用于诊断目的。

由于我从几种方法访问此模型,因此我不能(轻松)创建数据上下文的静态实例,然后只在开始时更改上下文的模型,因为我必须在方法中显式声明上下文的类型参数(然后每次更改模型时更改类型)。

像这样的东西:

(using SF_EntitiesDEV1 ctx = new SF_EntitiesDEV1()) {
    checkForStrangeStuff(ctx);
    runTests(ctx);
    checkResults(ctx);
    ... etc
}

现在,如果我想将 SF_EntititesDEV1 更改为 SF_EntitiesDEV2,我必须更改每个方法中的方法参数类型。

4

1 回答 1

0

如果您还没有,我会考虑使用通用存储库方法。您将找到的大多数示例将使用通用 repo 来执行 CRUD 工作,但我不明白为什么您不能使用它来完成您需要的工作。

本质上,您将在其构造函数中设置一个将上下文(接口)作为参数的类。然后在实例化存储库并调用它的方法时传入要使用的上下文。

在这里查看有关如何设置通用存储库的很好的讨论。

于 2012-09-17T15:14:33.310 回答