发生了参照完整性约束违规

时间:2013-12-20 14:56:08

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

在EF 5.0上调用context.Set<Person>().Attach(person);

时出现以下错误
  

发生了参照完整性约束违规:定义参照约束的属性值在关系中的主体和从属对象之间不一致。

有没有办法找出哪个确切的属性产生了这个错误?

我知道原因是什么,直接属于对象属性的外键与相关对象的主键不同,例如:

Person --> Address
ID         PersonID
           Person

Address.PersonIDAddress.Person.PersonID不同,但无论我在哪里查看我的真实生活对象,我都没有得到导致此属性的属性。

那么有没有办法找到问题的根源,可能是单步执行ObjectStateManager或一些ChangeTracking例程?

我已经编写了一个t4模板文件(基于我的entitymodel自动生成它),它检查每个ForeignKey / PrimaryKey,我找不到差异。

1 个答案:

答案 0 :(得分:0)

Multi ForeignKey毁了我的一天......

所以要完成上面的示例就像是;

Person --> Address
ID         PersonID
ID2        PersonID2
           Person

我没有检查我的对象的ID2,这些ID2加载错误。