人们正在使用 Entity 框架做一些聪明的事情,但我认为我正在做一些非常简单的事情,而且似乎无法让它继续下去。
我有两个独立的数据库。数据库 A 和数据库 B。
我需要分别为这些数据库创建上下文,所以我想要一个工厂模式来为我实例化任一上下文。我正在尝试使用数据库优先方法。
我通过 Nuget 包管理器引用了实体框架,并使用 Visual Studio 创建了一个新项目。唯一可以选择的带有 EDMX 扩展的项目是“ADO.NET 实体数据模型”,所以我选择了数据库 A。
EDMX 文件已生成,我可以看到我的实体。当以编程方式访问它们时,实体已被转储到默认命名空间中。这意味着我可以通过转到 my.namespace.datasource.TableA 来获得实体的智能感知。
如果我现在在同一个区域创建另一个 EDMX 文件,相同的实体将被转储到同一个地方,我会遇到冲突。
我得到的错误示例是:
“‘my.namespace.datasource.Entities’类型已经包含‘TableA’的定义”
为什么是这样?为什么不为实体将驻留在其中的 EDMX 文件创建默认命名空间?如何让多个 EDMX 文件协调工作并在需要时提供单独的上下文?
任何帮助表示赞赏!
干杯,
卡尔。