NHibernate - 当保存父级时,当级联是保存更新时,是否应更新所有子对象?

时间:2012-08-30 13:55:05

标签: c# nhibernate

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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