实体框架异常:找到不明确的匹配

时间:2013-08-15 03:02:56

标签: c# entity-framework entity-framework-5

我收到错误:

  

找到了模糊的匹配

在.Add

上的此代码中
var db = new NexusEntities(); 
db.Reports.Add(mmr);

如果有两个具有相同名称但位于不同名称空间的类,则从Google上搜索似乎是一个问题。据我所知,情况并非如此......是否还有其他原因导致此错误发生?或者有没有办法告诉它找到哪两个参数?

2 个答案:

答案 0 :(得分:20)

这是EF的“弱点”。当同一属性出现在类/子类型层次结构中时,会发生这种情况。

很可能你有一个隐藏的领域。即已重新定义的财产。 当EF查找属性时,它也必须使用类型/基础树来查找属性。但如果它在树中找到它两次,它会将其解释为重复。 EF不仅仅使用最低特定的覆盖。

因此EF无法隐藏属性。

检查你的课程,某个属性会在某个地方出现两次。

答案 1 :(得分:1)

虽然这可能是一种不太可能的情况,但我们运行EF Core 1.0只有一个版本的Include()方法...在1.1版中,Microsoft添加了第二个实现(字符串)由于我们动态调用此方法,因此在将EF Core更新为1.1

后,我们收到此错误