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