0

我做了大量的研究,但沒有找到任何符合我的問題的答案。我甚至嘗試使用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。

任何人都可以幫我嗎?我正在爲此苦苦掙扎,並看到隧道盡頭沒有燈光。

+0

你真的應該表明這個地方引發異常的代碼。 –

+1

@GertArnold我感謝你的評論。但我想我已經清楚地解釋了一切。順便說一句,我已經回答了這個問題,我真的建議你檢查一下。從我的角度來看,這非常具有啓發性。無論如何,再次感謝你。 –

回答

相關問題