Сеанс для ViewModel в настольном приложении с репозиторием - PullRequest
2 голосов
/ 27 августа 2010

Я пишу приложение 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();
}

Каждый сервис по сути является фасадом над хранилищем, и я бы хотел, чтобы каждое хранилище для этого докладчика участвовало в одном сеансе без его явной настройки.

Любой совето том, как справиться с этим, было бы очень ценно, так как я уверен, что есть решение довольно близко, но я не уверен, как это сделать.

1 Ответ

1 голос
/ 27 августа 2010

Я предлагаю вам взглянуть на uNhAddIns .

В нем приведен полный пример WPF с использованием MVVM.

...