我们有两个类,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约束)或通过删除子记录来实现。
所有其他解决方案都包括在父记录中使用级联映射的逆子集合。