关于"角色的变化冲突"例外

Ani*_*hee 9 .net entity-framework

其实我得到了一个例外

检测到关系"DataModel.FK_TableName_RelateTableName"的角色"TableName"发生冲突的更改

从ObjectContext调用ApplyChanges方法时.我不知道这个例外是什么.我只是想知道这个异常的原因.

kmp*_*kmp 8

如果您尝试两次获取同一实体的外键关系,我认为您会遇到这些异常.一个简单的例子是这样的:

var tn = ctx.TableName.Where(t => t.TableNameId == 1).First();
var rel = new RelateTableName {TableName = tn, TableNameId = 2};
ctx.RelateTableName.AddObject(rel);
Run Code Online (Sandbox Code Playgroud)

在这里,您可以看到我将TableNameId属性设置为2,但将TableName属性设置为TableNameId为1的对象 - 因此实体框架无法确定哪个是放入数据库的正确关系.

  • 我@kmp的答案是现货.我遇到了同样的异常,经过一段时间后,Googling发现了一篇关于这个主题的非常好的博客文章:http://coding.abel.nu/2012/03/ef-code-first-navigation-properties-and-foreign-keys / (3认同)