6

我得到错误:

找到不明确的匹配项

在这段代码中.Add

var db = new NexusEntities(); 
db.Reports.Add(mmr);

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

4

2 回答 2

22

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

很可能您有一个隐藏字段。即已重新定义的属性。当 EF 查找 a 属性时,它也必须使用类型/基树来查找该属性。但如果它在树中找到两次,它会将其解释为重复。EF 不只是使用最低最具体的覆盖。

因此,EF 无法隐藏属性。

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

于 2013-08-15T05:12:04.530 回答
1

虽然这可能是一个不太可能的情况,但我们正在运行EF Core 1.0它只有一个版本的Include()方法......在版本 1.1 中,微软添加了第二个实现(字符串版本),因为我们动态调用这个方法,所以我们得到了这个更新EF Core到 1.1后出错

于 2017-01-30T23:46:14.113 回答