Re: [nHibernate][WinForms][WPF] Область действия сессии
От: vansha Украина korneliuk.blogspot.com
Дата: 02.07.11 17:41
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Хотелось узнать у многоуважаемого All best practice в использовании nHibernate с WinForms либо WPF приложениями, которые активно отображают/редактируют данные из БД посредством байндинга.


Поищите по фразе session per business transaction. Такой подход рекомендует разработчик NHibernate Fabio Maulo.

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

Я бы посоветовал вместо классов предметной области (которые мапятся на БД) использовать в GUI специальные DTO или ViewModel классы, которые грузятся напрямую из БД с помощою NHibernate projections (или вообще загружать эти новые классы не используя NHibernate). То есть после загрузки, сессию NHibernate можно закрывать. Но тогда, изменять данные уже нельзя просто изменив состояние объекта — нужно использовать специальные команды для изменения.
nhibernate session management
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.