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(删除非空约束)或删除子记录来完成此操作。

所有其他解决方案在您的父级记录中包含一个带有级联映射的逆子集合。