NHibernate:删除集合并重新插入

时间:2009-08-14 04:43:18

标签: nhibernate fluent-nhibernate mapping fluent-interface

我有一个具有相关权限的用户。这就是我想要的:

我创建了一个User并向User.Permissions集合添加了一个权限。它得到了保存,一切都按预期发生。

然后我编辑用户并删除权限。然后创建一个新的用户对象,权限集合为空。此新用户对象的标识符和版本设置为相关值,并更新用户对象。

但不删除现有权限。

所以我希望NHibernate总是删除权限集合并重新插入其中的所有项目。

如何设置?我正在使用流利的api。

此致 埃本

2 个答案:

答案 0 :(得分:0)

我认为在编辑时不应该创建新对象 - 这就是为什么nhibernate不会删除权限集合的原因。

从数据库加载现有用户,然后对其权限集合执行.Remove()。

答案 1 :(得分:0)

SaveOrUpdateCopy发挥了作用