删除具有关联子记录的父记录时,Nhibernate中出现意外的行计数

删除具有关联子记录的父记录时,Nhibernate中出现意外的行计数,nhibernate,fluent-nhibernate,cascading-deletes,Nhibernate,Fluent Nhibernate,Cascading Deletes,我有一个父表、Orders和一个子表[Order Details],我将fluent映射设置为- (在父订单类中) 我正试图通过调用来删除父对象- session.Delete(parent); session.Flush(); 这只适用于只有一个子记录的情况,如果有多个子记录,子记录会被删除,但父记录不会!!!我得到了可怕的意外行计数错误 我确信这是我正在做的愚蠢的事情,但是在网络上搜索并没有发现任何东西 谢谢好吧,我明白了,是我太笨了,但是这个答案可能会帮助其他人,所以就这样吧 [Orde

我有一个父表、Orders和一个子表[Order Details],我将fluent映射设置为-

(在父订单类中)

我正试图通过调用来删除父对象-

session.Delete(parent);
session.Flush();
这只适用于只有一个子记录的情况,如果有多个子记录,子记录会被删除,但父记录不会!!!我得到了可怕的意外行计数错误

我确信这是我正在做的愚蠢的事情,但是在网络上搜索并没有发现任何东西


谢谢

好吧,我明白了,是我太笨了,但是这个答案可能会帮助其他人,所以就这样吧

[Order Details]表有一个复合键,并链接到[Orders]和[Products]表(是的,这是我正在使用的Northwind数据库)。在测试中,我没有映射我的Products表,而是用一个主键(而不是复合键)标记了我的[Order Details]类。因此,当Nhibernate基于键删除行时,它希望只删除一行,而数据库中存在多行。这就是我出错的原因。他很聪明

References(x => x.ParentOrder).Column("OrderId").Not.Nullable().Cascade.None();
session.Delete(parent);
session.Flush();