единица работы и сеанс на запрос в nhibernate и asp.net mvc - PullRequest
1 голос
/ 29 ноября 2009

Я использую фреймворк ncommon (http://code.google.com/p/ncommon/) с nhibernate и asp.net mvc. Мне очень нравится реализация шаблона единицы работы, но у меня проблемы с отложенной загрузкой в ​​моих представлениях. узнать, как реализовать шаблон сеанса для каждого запроса с помощью ncommon, или посмотреть на другую инфраструктуру, которая будет поддерживать:

  1. linq to nhibernate
  2. единица работы шаблона
  3. сеанс для каждого шаблона запроса для поддержки отложенной загрузки в представлениях

Любые советы с благодарностью.

Ответы [ 2 ]

2 голосов
/ 30 ноября 2009

Прежде всего, если вы используете свои сущности в своей модели представления, вы делаете это неправильно.Мне очень жаль, что я это вам передал, но вы не можете использовать модель базы данных в своих представлениях.Если у меня есть, например, объект Competition в базе данных, я могу получить 3-4 CompetitionView, основываясь на том, что мне нужно.По сути, я загружаю все, что мне может понадобиться, и отправляю только то, что требуется для этого конкретного представления.

Сначала мне показалось, что это больше работы, чем пытаться решить ее с помощью NHibernate, но в итоге я обнаружил, что получаюогромное количество времени, чтобы сделать это прямо сейчас.Существует также проект с открытым исходным кодом AutoMapper , который может передавать данные между различными объектами в ваших разных моделях.

Надеюсь, что это поможет, и вы не отчаивайтесь передовой практикой!

2 голосов
/ 29 ноября 2009

Взгляните на SharpArchitecture.net , чтобы узнать о великолепном фреймворке на основе NHibernate для MVC, который, я считаю, будет соответствовать вашим спецификациям.

...