NHibernate:删除集合并重新插入

发布于 2024-08-01 14:55:32 字数 305 浏览 6 评论 0原文

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

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

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

但现有的权限并没有被删除。

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

我该如何设置? 我正在使用 Fluent api。

问候, 埃本

I have a User with related Permissions. Here is what I want:

I create a User and add a permission to the User.Permissions collection. It gets saved and everything happens as expected.

Then I edit the user and remove the permission. A new user object is then created and the permissions collection is empty. The identifier and version of this new user object are set to the relevant values and the user object is updated.

But the existing permission is not removed.

So I would like NHibernate to always delete the permissions collection and re-insert all the items in it.

How do I set this up? I am using the fluent api.

Regards,
Eben

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

煮酒 2024-08-08 14:55:32

我认为当你编辑时你不应该创建一个新的对象 - 这就是为什么 nhibernate 不删除权限集合。

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

I think that when you edit you shouldn't create a new object - that's why nhibernate doesn't remove the permission collection.

Load the existing user from the DB, and then do a .Remove() on his permissions collection.

我们的影子 2024-08-08 14:55:32

SaveOrUpdateCopy 成功了

SaveOrUpdateCopy did the trick

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文