единица работы и сеанс на запрос в nhibernate и asp.net mvc
-
08-07-2019 - |
Вопрос
Я использую фреймворк ncommon (http://code.google.com/p/ncommon/) с помощью nhibernate и asp.net mvc.Мне действительно нравится реализация шаблона unit of work, но у меня возникают проблемы с отложенной загрузкой в моих представлениях.Я ищу, как реализовать шаблон сеанса для каждого запроса с помощью ncommon или посмотреть на другой фреймворк, который будет поддерживать:
- linq для nhibernate
- схема работы единицы измерения
- шаблон сеанса для каждого запроса для поддержки отложенной загрузки в представлениях
Любые советы очень ценятся.
Решение
Взгляните на SharpArchitecture.net для отличного фреймворка на базе NHibernate для MVC, который, я полагаю, будет соответствовать вашим спецификациям.
Другие советы
Прежде всего, если вы используете свои сущности в своей модели представления, вы делаете это неправильно.Мне жаль сообщать вам об этом, но на самом деле вы не можете использовать свою модель базы данных в своих представлениях.Если у меня есть, например, объект Competition в базе данных, я мог бы получить 3-4 CompetitionView в зависимости от того, что мне нужно.В принципе, я охотно загружаю все, что мне может понадобиться, и отправляю только то, что требуется для этого конкретного представления.
Сначала мне показалось, что это требует больше работы, чем пытаться решить проблему с помощью NHibernate, но в конце концов я обнаружил, что получаю огромное количество времени, делая это сразу.Существует также проект с открытым исходным кодом под названием Автоматический преобразователь это может передавать данные между различными объектами в ваших разных моделях.
Надеюсь, это поможет и вы не отчаиваетесь в выборе наилучшей практики!