Приложение NHibernate и NTier - PullRequest
       38

Приложение NHibernate и NTier

0 голосов
/ 28 февраля 2012

Мы хотим использовать NHibernate для нашей службы персистентности.
Пара вопросов:

  1. если мы загрузим POCO с помощью nhibernate, переместим его на другой уровень, обновим его там (добавьтеэлементы в пакет или изменить некоторые свойства), а затем вернуть его на уровень сохраняемости и сохранить его. Как NHibernate знает, как обновить изменения?(может быть что-то вроде выбора и сравнения обновленного элемента с предыдущим?)

  2. Можем ли мы попросить NHibernate обновить только определенные элементы?(в случае, если мы знаем изменения, используя какой-либо трекер изменений)

  3. Знаете ли вы какую-нибудь библиотеку или шаблон для трекера изменений POCO?

Спасибо!

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

второе, безусловно, самое простое, но имеет некоторые ограничения

0 голосов
/ 28 февраля 2012

В приложениях веб-сервисов я обычно не предоставляю доменные объекты сервисным клиентам, все объекты отображаются на классы DTO.Обновления выполняются путем извлечения объекта домена из базы данных, обновления его свойств из вызывающего параметра (ов) и сохранения его, все в одной транзакции.Чтобы избежать написания большого количества назначений свойств вручную, вы можете использовать что-то вроде AutoMapper для обновления сущностей домена из DTO.

То же самое можно сделать для уровня обслуживания внутри приложения.

...