Ответ 1
Проверьте этот метод: nhibernate.info/doc/howto/various/finding-dirty-properties-in-nhibernate.html
Кто-нибудь знает, можно ли определить, загрязнено ли какое-либо свойство на объекте (т.е. свойство отличается от того, которое хранится в БД) с помощью NHibernate?
В основе этого вопроса лежит то, что у меня будет объект с (относительно) большим количеством свойств на нем. Мне нужно передать параметр (строку) функции, которая определит, изменилось ли это свойство в течение жизни страницы.
Если мне нужно создать копию объекта и использовать отражение в конце жизненного цикла страницы, чтобы проверить значение, но я не хочу этого делать. Было бы здорово, если бы NHibernate мог просто сказать мне, было ли свойство грязным.
Спасибо
Проверьте этот метод: nhibernate.info/doc/howto/various/finding-dirty-properties-in-nhibernate.html
Это не доступно в настоящее время через API nHibernate (или Hibnernate, AFAIK). Вы можете написать что-то подобное себе, сохраняя состояние объектов, когда они загружаются в сеанс, а затем сравнивают их.
ПРИМЕЧАНИЕ. Я не видел этого для себя, но, если вы не заблокировали выбор ORM, вы должны посмотреть на Subsonic. Большая часть грязного статуса отслеживается внутри самих объектов, и вы сможете определить, загрязнено ли какое-либо свойство.