【发布时间】:2015-04-11 08:12:36
【问题描述】:
所以我使用的是模型优先 EF 模式,而不是代码优先。我在单独的程序集中有我的“POCO”,我收到了错误:
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?
这是针对此问题的两个推荐解决方案之一,可在此处找到:
不能给我的 POCO 起不同的名字。我错过了什么吗?很明显,在不同的项目中使用相同名称的 POCO 是一个非常可行的解决方案,但它对我不起作用。
我还应该注意,其他开发人员在他们的机器上没有这个问题,只有我在我的机器上。
【问题讨论】:
-
你的 dal 中有没有与 poco 名称匹配的 bll 项目的引用?如果是这样,ef会感到困惑。如果要保留相同的名称,则必须将两者分开。如果其他开发人员没有遇到问题,请尝试清理您的解决方案,以确保两个 dll 没有被意外复制到同一个 bin 文件夹中。唯一确定的答案是重命名模型中的实体,这是我过去所做的
标签: c# .net asp.net-mvc entity-framework