0

我有一个双向的一对多关系,在映射的两端定义了 cascade="all",在一对多端定义了 inverse="true"。

当我调用 SaveOrUpdate 一个新实体时,它会在父表中正确插入一行,然后在子表中插入所有子对象。

但是,如果我有一个现有实体并更新子对象的某些属性(比如更改某些字符串属性),然后在父实体上调用 SaveOrUpdate,它只会更新父表中的信息。我期待它也能更新所有子实体。

这是预期的行为吗?我是否需要自己手动更新所有子对象?我不确定我的映射是否搞砸了(在这种情况下,我会将它们添加到问题中)或者这是否是 NHibernate 的行为方式。

编辑:发现错误;键盘和椅子之间像往常一样存在问题。

4

1 回答 1

1

没关系,我只是愚蠢地更新了一个没有映射到任何列的属性。

看起来 NH 将更新只需要更新的子记录。

于 2012-08-30T15:20:45.790 回答