我做了大量的研究,但沒有找到任何符合我的問題的答案。我甚至嘗試使用The relationship could not be changed because one or more of the foreign-key properties is non-nullable的例子。沒有成功。違反了多重性約束。關係Child_Parent的角色Child_Parent_Target具有多重性1或0..1
我正在使用Entity Framework 6 Code First(Fluent API),POCO Classes。
我有一類稱爲父和一叫孩子
單親可以有一個或多個蔡爾茲(一對多的關係)
因此類,在我的ParentMapping類我所做的:
HasMany(p => p.Childs).WithRequired(p => p.Parent).Map(m => m.MapKey("ParentId"));
,並在我的ChildMapping類我所做的:
HasRequired(p => p.Parent).WithMany(p => p.Childs).Map(m => m.MapKey("ParentId"));
我堅持(在sert,Update和Delete)我的孩子poco類同時堅持父類。所以每次我保存我的父類時,它的Childs屬性中都有一個或多個子對象。因此父對象負責持久化其子對象。
我遵循上面的例子(請參閱鏈接)將數據保存到數據庫中。
我得到下面的消息時,我嘗試新的子添加到數據庫存在的父項,其中已經在數據庫中的一個孩子,並調用db.SaveChanges:
多重約束侵犯。關係Child_Parent的角色Child_Parent_Target具有多重性1或0..1。
任何人都可以幫我嗎?我正在爲此苦苦掙扎,並看到隧道盡頭沒有燈光。
你真的應該表明這個地方引發異常的代碼。 –
@GertArnold我感謝你的評論。但我想我已經清楚地解釋了一切。順便說一句,我已經回答了這個問題,我真的建議你檢查一下。從我的角度來看,這非常具有啓發性。無論如何,再次感謝你。 –