我得到错误:
找到不明确的匹配项
在这段代码中.Add
var db = new NexusEntities();
db.Reports.Add(mmr);
从谷歌搜索来看,如果有两个具有相同名称但在不同名称空间中的类,这似乎是一个问题。据我所知,情况并非如此......还有其他原因导致此错误发生吗?或者有没有办法告诉它找到两个参数?
我得到错误:
找到不明确的匹配项
在这段代码中.Add
var db = new NexusEntities();
db.Reports.Add(mmr);
从谷歌搜索来看,如果有两个具有相同名称但在不同名称空间中的类,这似乎是一个问题。据我所知,情况并非如此......还有其他原因导致此错误发生吗?或者有没有办法告诉它找到两个参数?
这是 EF 的“弱点”。当相同的属性出现在类/子类型层次结构中时,就会发生这种情况。
很可能您有一个隐藏字段。即已重新定义的属性。当 EF 查找 a 属性时,它也必须使用类型/基树来查找该属性。但如果它在树中找到两次,它会将其解释为重复。EF 不只是使用最低最具体的覆盖。
因此,EF 无法隐藏属性。
检查你的类,一个属性会在某个地方出现两次。
虽然这可能是一个不太可能的情况,但我们正在运行EF Core 1.0
它只有一个版本的Include()
方法......在版本 1.1 中,微软添加了第二个实现(字符串版本),因为我们动态调用这个方法,所以我们得到了这个更新EF Core
到 1.1后出错