1

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

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

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

我已经查看了错误,但我无法弄清楚如何删除其中一个类并且仍然让整个事情正常工作。

4

1 回答 1

1

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

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

执行此操作的最佳方法是使用 VisualStudio 中的“扩展和更新”工具搜索“EF 6.x EntityObject Generator”。

于 2013-11-04T20:48:45.450 回答