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

Nhibernate 更新父集合导致子集合上的延迟加载,nhibernate,Nhibernate,我有父+子关系,子集合映射为lazy。我获取一个父对象,当然,由于延迟加载,子对象集合没有加载。但当我想更新我的父集合时,NH首先加载子集合。我很感兴趣,这是默认的,还是我出了什么差错。集合是惰性的,inverse=true,cascade=“全部删除孤立项”。我假设由于级联映射,NH希望检查子集合上的更改,并且它是第一次被访问,所以延迟加载完成了它的工作。请有人确认这一点。更新父对象时,NHibernate不必加载子集合,除非您正在修改外键关系列 Inverse=“true” 这意味着子集合中

我有父+子关系,子集合映射为lazy。我获取一个父对象,当然,由于延迟加载,子对象集合没有加载。但当我想更新我的父集合时,NH首先加载子集合。我很感兴趣,这是默认的,还是我出了什么差错。集合是惰性的,inverse=true,cascade=“全部删除孤立项”。我假设由于级联映射,NH希望检查子集合上的更改,并且它是第一次被访问,所以延迟加载完成了它的工作。请有人确认这一点。

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

Inverse=“true” 这意味着子集合中的对象负责管理与父集合的关系

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

我将这些精确设置用于我的子集合关系,但没有看到这种行为


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

好的,谢谢您的回答。映射一切正常。问题出在我的存储库设计中(一些助手类在更新之前读取子集合,导致延迟加载)。恩希伯内特照章办事。