更新父级导致子集合上的延迟加载

时间:2011-05-24 07:59:06

标签: nhibernate

我有父/子关系,子集合被映射为懒惰。我取一个父,当然因为延迟加载子集合没有加载。但是,当我想更新我的父NH时,首先加载子集合。我很有意思,这是默认的,或者我在某个地方出了问题。 Collection是lazy,inverse = true和cascade =“all-delete-orphan”。我假设由于级联映射,NH想要检查子集合上的更改,并且第一次访问它,因此懒惰负载完成了它的工作。请有人确认一下。

1 个答案:

答案 0 :(得分:0)

更新父对象时,NHibernate不必加载子集合,除非您正在修改外键关系列。

<强>逆= “真” 这意味着子集合中的对象负责管理与父级的关系。

<强>级联= “全删除-孤儿” 将新的子对象添加到集合时,它将级联到DB,而无需先显式调用Session.Save(childobj)。这也意味着如果删除父对象,所有子集合对象也将从数据库中删除。

我将这些确切的设置用于我的子集合关系,并且看不到这种行为。

您是否可以发布您的映射/流畅地图/测试代码,以便更深入地了解手头的问题?