【发布时间】:2015-02-23 23:43:03
【问题描述】:
我有 3 个数据库 DBDev、DBStaging 和 DBProduction。在我的应用程序中,我为每个数据库创建了 3 个 edmx。每个数据库都有一个匹配的实体,如下所示:DBDev -> DEVEntities、DBStaging -> StagingEntities 或 DBProduction -> ProductionEntities
我在 web.config 中选择我想通过这个访问的数据库:
<connectionStrings configSource="Configs\DBDev.config" /> <!-- or DBStaging or DBProduction-->
我将所有的数据库访问路由到一个静态类:DBAccess。当我需要指向特定上下文时,我手动执行此操作:
private static DEVEntities db = new DEVEntities();
或
private static StagingEntities db = new StagingEntities();
或
private static ProductionEntities db = new ProductionEntities();
有什么更智能的方式来指向所需的上下文而无需手动更改它?
【问题讨论】:
-
您使用三种不同的 edmx 有什么原因吗?架构不同吗?
-
不,它们是一样的。我想使用配置文件,因为每个环境都有不同的连接字符串值: 数据源 Initial Catalog 用户 ID 密码 除了创建不同的 edmx 之外,我不知道该怎么做。如果我应该只创建一个 edmx,我将如何发送这些不同值的值?
-
为什么你有静态上下文?这是一个坏主意的可能性为 99.9%。
标签: c# entity-framework model-view-controller