0

我正在使用 NHibernate 开发 MVC 应用程序。我有一个包含客户信息和订单对象的屏幕。正如猜测的那样,客户实体具有 List 属性,而 Order 实体具有客户属性。

我通过将订单对象存储在会话中来附加它们。用户可以添加/删除订单,因此我已将修改后的订单附加到客户对象。但是当我看到 sql 语句时,它正在插入新订单,这是预期的行为,但对于已删除的订单,它会使用 customer_id = null 进行更新,而不是完全删除它们?

谢谢, Sundeep

4

1 回答 1

1

您正在寻找级联选项
您的订单被删除的原因是您保留了一个空集合,因此 nHibernate 假定该集合是故意清空的,并通过删除关联来更新 Db 中的该集合项。

您最可能想要的行为是AllDeleteOrphan删除从您的客户中删除的订单。

于 2012-08-24T20:06:54.317 回答