1

我們有2個班,親子流利NHibernate的一對多父刪除

,家長有沒有提到孩子,孩子在其流利的映射下定義:

References(x => x.Parent, "Parent_id").Not.Nullable(); 

當父記錄被刪除時,會生成以下錯誤:

The DELETE statement conflicted with the REFERENCE constraint "FKFF68C21EE06905B9". The conflict occurred in database "DatabaseName", table "dbo.tblChild", column 'Parent_id'. 
The statement has been terminated. 

什麼是正確的映射,使家長的缺失,因爲父模型沒有共同財產選擇類型的孩子?

回答

1

您不能刪除由於外鍵約束而被子記錄引用的父記錄。如果您不想將孩子映射爲集合參考,則必須在刪除父記錄之前刪除對所有子記錄中父記錄的引用。您可以通過將父對象的引用設置爲null(刪除非空約束)或刪除子記錄來完成此操作。

所有其他解決方案在您的父級記錄中包含一個帶有級聯映射的逆子集合。