Получить список измененных полей в Entity из NHibernate Session - PullRequest
2 голосов
/ 25 июня 2009

Я хочу отслеживать изменения в моей модели домена. Я знаю, что NHibernate ISession - это реализация шаблона UnitOfWork, поэтому он отслеживает эти изменения. Есть ли способ вытащить их, например, перед Commit () или Flush ()?

Ответы [ 2 ]

1 голос
/ 25 июня 2009

Я думаю, что перехватчики немного устарели. Пытаюсь использовать NHibernate Events. Я подписался на событие OnPreUpdate. Этот параметр имеет свойства State и OldState, но OldState всегда имеет значение null. Кто-нибудь знает, что OldState работает вообще?

1 голос
/ 25 июня 2009

Взгляните на II-рецептор NHibernate.

OnFlushDirty - покажет вам сохраненные свойства для обновленного объекта.

OnSave - покажет вам сохраненные свойства сохраненного объекта.

Вам просто нужно создать класс перехватчика, который реализует этот интерфейс, и когда вы настраиваете сеанс NHibernate, скажите ему использовать этот класс.

Вот довольно хорошая статья, чтобы помочь вам начать

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