【问题标题】:The mapping of CLR type to EDM type is ambiguous with EF 4 classes ARE in a separate assemblyCLR 类型到 EDM 类型的映射在单独的程序集中与 EF 4 类不明确
【发布时间】: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?

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

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 是一个非常可行的解决方案,但它对我不起作用。

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

【问题讨论】:

  • 你的 dal 中有没有与 poco 名称匹配的 bll 项目的引用?如果是这样,ef会感到困惑。如果要保留相同的名称,则必须将两者分开。如果其他开发人员没有遇到问题,请尝试清理您的解决方案,以确保两个 dll 没有被意外复制到同一个 bin 文件夹中。唯一确定的答案是重命名模型中的实体,这是我过去所做的

标签: c# .net asp.net-mvc entity-framework


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    相关资源
    最近更新 更多