CLR 类型到 EDM 类型的映射与 EF 4 类 ARE 在单独的程序集中不明确

The mapping of CLR type to EDM type is ambiguous with EF 4 classes ARE in a separate assembly

所以我使用的是模型优先 EF 模式,而不是代码优先。我的 "POCOs" 在单独的程序集中,但出现错误:

CLR 类型到 EDM 类型的映射不明确,因为多个 CLR 类型与 EDM 类型匹配 'request_saga'。以前发现的 CLR 类型 'MyDal1.request_saga',新发现的 CLR 类型 'MyDal2.request_saga'。 这是在 project.foo

所以这个流行的 SO 问题和答案并不能解决我的问题,因为我的 POCO 位于单独的程序集中: The mapping of CLR type to EDM type is ambiguous with EF 6 & 5?

这是针对此问题的两个推荐解决方案之一,可在此处找到:

https://social.msdn.microsoft.com/Forums/en-US/5a8ea003-c6bc-4fc6-ad2a-634f09447c49/ef4-mapping-of-clr-type-to-edm-type-is-ambiguous-error?forum=adodotnetentityframework

不能给我的 POCO 取不同的名字。我错过了什么吗?很明显,在不同的项目中使用相同名称的 POCO 是一个非常可行的解决方案,但它对我不起作用。

我还应该注意到其他开发人员在他们的机器上没有这个问题,只有我在我的机器上。

我曾经遇到过这样的问题,让我困惑了一段时间。我先用了数据,复制了错误的连接串。它迫使 EF 使用错误的模型进行解析。我基本上是从连接字符串开始的,很快。

确保您的数据第一个连接字符串正确列出了模型属性。