2
在EF 5.0參照完整性約束衝突發生
調用
context.Set<Person>().Attach(person);
時發生參照完整性約束違反我收到以下錯誤:定義引用約束的屬性值不本金和依賴對象之間是一致的在關係中。
有什麼方法可以找出哪個確切的屬性產生這個錯誤?
我知道原因是什麼,是一個外鍵是直接一個對象的屬性是從相關對象的主鍵不同,因此,例如:
Person --> Address
ID PersonID
Person
和Address.PersonID
是不一樣的作爲Address.Person.PersonID
,但無論我在哪裏看我的真實生活對象,我都沒有得到哪個屬性造成這種情況。
那麼有什麼辦法可以找到問題的根源,也許是通過ObjectStateManager或ChangeTracking例程?
我已經編寫了一個t4模板文件(用於根據我的entitymodel自動生成它),它檢查每個ForeignKey/PrimaryKey,並且我找不到差異。
你知道這是導致錯誤的數據而不是模式,對嗎?如果地址記錄的PersonID爲100,並且沒有Person的PersonID爲100 ...將導致錯誤。 –
請在粘貼之前粘貼您的Person類和person對象嗎? – Phil