2012-06-18 2 views
0

Можно ли перегрузить Session.Delete() поведение, чтобы не выполнять реальное удаление из БД, но значение обновления int State столбец на специальный удален значение? И было бы здорово ограничить загрузку удаленных объектов методом GetAll().Изменение состояния вместо реального удаления

ответ

3

Этот вид Удалить называется Soft Delete. Вы можете использовать перехватчик для переопределения Session.Delete() и использовать where картографирования класса, чтобы определить формулу, как:

<class where="State=0" ...> 

Габриэль Schenker есть пример на nhforge.org: http://nhibernate.info/blog/2008/09/06/soft-deletes.html

+0

Привет Мирослава, у меня есть зарегестрирована Слушатель и его (как сообщение в блоге Gabriel Schenker) ... но запись не обновляется ... вы можете мне помочь? –

+0

@Luigi Вы должны задать это в новом вопросе с образцом вашего кода. Было бы сложно определить, что может пойти не так, как без реального кода. –

+0

http://stackoverflow.com/questions/12296076/soft-delete-nhibernate#comment16495884_12296076 –