在持久化之前使用 NHibernate 确定哪些字段已更新(用于验证目的)

发布于 2024-07-20 06:11:16 字数 151 浏览 5 评论 0原文

在对我的业务实体进行持久更新之前,我需要执行验证检查以确定哪些属性已更改。 例如,某些字段仅当“状态”属性具有特定值时才能更新。 例如,当订单实体的状态为最终确定时,只能更新注释(字符串)字段。 使用 NHibernate 是否可以实现这种事情,或者我应该自己跟踪业务实体中的更改?

Prior to persisting updates to my business entities, I need to perform validation checks to determine which properties have been changed. For example, certain fields can only be updated when the "Status" property has a particular value. E.g. when an Order entity has a Status of finalized, only the notes (string) field can be updated. Is this sort of thing possible using NHibernate, or should I be tracking the changes myself in the Business entities?

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

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

发布评论

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

评论(2

没︽人懂的悲伤 2024-07-27 06:11:16

If I understand what you're trying to do, Gabriel's solution is not quite what you need. If it is not, you can try an event listener. Those allow you to hook into a common event (like on save) and do some processing before NHibernate finishes the save/insert/update/delete. Alternatively, you could look into using interceptors by implementing the IInterceptor interface.

佼人 2024-07-27 06:11:16

这种事情确实是有可能的。 Coding Instinct 有一篇很棒的文章介绍 NHibernate.Validator

This sort of thing is indeed possible. Coding Instinct has a great post introducing NHibernate.Validator.

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