我有一个双向的一对多关系,在映射的两端定义了 cascade="all",在一对多端定义了 inverse="true"。
当我调用 SaveOrUpdate 一个新实体时,它会在父表中正确插入一行,然后在子表中插入所有子对象。
但是,如果我有一个现有实体并更新子对象的某些属性(比如更改某些字符串属性),然后在父实体上调用 SaveOrUpdate,它只会更新父表中的信息。我期待它也能更新所有子实体。
这是预期的行为吗?我是否需要自己手动更新所有子对象?我不确定我的映射是否搞砸了(在这种情况下,我会将它们添加到问题中)或者这是否是 NHibernate 的行为方式。
编辑:发现错误;键盘和椅子之间像往常一样存在问题。