流畅的hibernate一对多父删除



我们有两个类,Parent和Child

父类没有对子类的引用,子类在其流畅映射中定义了以下内容:

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.

如果父模型没有child类型的属性集合,那么允许删除父模型的正确映射是什么?

由于外键约束,不能删除由子记录引用的父记录。如果不希望将子记录映射为集合引用,则必须在删除父记录之前删除所有子记录中对父记录的引用。您可以通过将父记录的引用设置为null(删除not null约束)或通过删除子记录来实现。

所有其他解决方案都包括在父记录中使用级联映射的逆子集合。

相关内容

  • 没有找到相关文章

最新更新