Я относительно новичок как в WPF, так и в NHibernate, и пытаюсь создать приложение, которое объединяет эти два, используя шаблон MVVM. Однако я пытаюсь понять, когда и где мое приложение должно открывать и закрывать сеансы и транзакции NHibernate.
Из того, что я прочитал, рекомендуется, чтобы сессии были как можно короче. Поэтому, помимо очевидных соображений безопасности потоков, я предполагаю, что неправильно открывать сеанс на уровне приложения и обмениваться им? С другой стороны, я также понимаю, что очень короткие сессии (в рамках бизнес-методов) приведут к отключению сущностей, а также не позволят мне использовать ленивую загрузку NHibernate. Это нормальный и неизбежный способ разработки приложения WPF / NH?
К сожалению, все хорошие примеры кода (и единственная книга, которую я могу найти по этой теме - NHibernate в действии) ориентированы на приложения ASP.NET, где, по-видимому, передовой опыт достаточно ясен - сеанс и интервал транзакций один запрос Http.
Итак, я был бы признателен за рекомендации от разработчиков WPF, которые помогли бы мне понять управление сессиями в WPF (в идеале указав мне несколько хороших примеров кода).
Большое спасибо,
Тим