teevus
teevus

Reputation: 53

Using NHibernate to determine which fields have been updated (for validation purposes) before persisting

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?

Upvotes: 1

Views: 1438

Answers (2)

Stuart Childs
Stuart Childs

Reputation: 3305

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.

Upvotes: 2

Gabriel Florit
Gabriel Florit

Reputation: 2918

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

Upvotes: 0

Related Questions