EF 6同一装配中的多个上下文

时间:2013-11-04 19:52:02

标签: c# .net entity-framework entity-framework-6

我正在使用EF6。我为两个不同的数据库创建了两个名称空间,每个数据库都有自己的实体数据模型。在EF 3.5中,当我从数据库创建模型时,生成的类都保存在从上下文构建的单个文件中。我在EF 6模板中看到用于生成上下文和类。

我遇到的问题是两个数据库都有一个基本相同的表(版本和日志表)。运行单元测试以从数据库中获取数据时,我收到以下错误:

  

测试方法SystemDataUnitTests.UnitTest1.TestMethod1抛出异常:   System.Data.Entity.Core.MetadataException:指定的架构不是   有效。错误:CLR类型到EDM类型的映射是不明确的   因为多个CLR类型与EDM类型“EventLog”匹配。先前   发现CLR类型......

我查了一下错误,我无法弄清楚如何删除其中一个类,但仍然可以完成所有工作。

1 个答案:

答案 0 :(得分:1)

感谢@Pawel,我想出了解决问题的方法。

如果您来自以前版本的EF,并希望 NOT 使用EF生成的POCO类,那么您希望使用EntityObjects。同样,为了保持与旧EF版本相同的功能并想要升级到EF 6,请使用EF 6.x实体对象生成器。

最好的方法是使用VisualStudio中的“扩展和更新”工具搜索“EF 6.x EntityObject Generator”。