Я пишу приложение WPF DESKTOP с использованием NHibernate, WPF, Prism и Unity Container, но у меня есть проблема с точки зрения управления сеансами в службах / репозиториях и как сделать это чисто посредством внедрения зависимостей с использованием Unity.
Прочитав Создание рабочего стола для приложения с помощью NHibernate Теперь у меня есть сеанс для ViewModel / Presenter.
Однако, если у меня есть несколько сервисов на моей модели представления, я должен передать Сессию в каждый сервис, который кажется громоздким и не совсем правильным, так как я хочу выполнить весь доступ к данным через репозиторий.
например,
CustomerMaintenanceViewModel
{
service1.Session = SessionForThisPresenter;
service2.Session = SessionForThisPresenter;
service3.Session = SessionForThisPresenter;
service1.GetAllSomething();
service2.GetAllSomething();
service3.GetAllSomething();
}
Каждый сервис по сути является фасадом над хранилищем, и я бы хотел, чтобы каждое хранилище для этого докладчика участвовало в одном сеансе без его явной настройки.
Любой совето том, как справиться с этим, было бы очень ценно, так как я уверен, что есть решение довольно близко, но я не уверен, как это сделать.