Использование NHibernate для определения того, какие поля были обновлены (для проверки) перед сохранением - PullRequest
1 голос
/ 22 мая 2009

Перед сохранением обновлений в моих бизнес-объектах мне нужно выполнить проверки, чтобы определить, какие свойства были изменены. Например, некоторые поля могут быть обновлены только тогда, когда свойство «Состояние» имеет конкретное значение. Например. когда сущность Order имеет статус завершения, только поле примечаний (строка) может быть обновлено. Возможно ли подобное с помощью NHibernate, или я должен сам отслеживать изменения в бизнес-объектах?

Ответы [ 2 ]

2 голосов
/ 22 мая 2009

Если я понимаю, что вы пытаетесь сделать, решение Габриэля не совсем то, что вам нужно. Если это не так, вы можете попробовать прослушиватель событий . Это позволяет вам подключиться к общему событию (например, при сохранении) и выполнить некоторую обработку до того, как NHibernate завершит сохранение / вставку / обновление / удаление. В качестве альтернативы вы можете изучить использование перехватчиков, реализовав интерфейс IInterceptor.

0 голосов
/ 22 мая 2009

Подобные вещи действительно возможны. У Coding Instinct есть отличная статья , представляющая NHibernate.Validator .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...