1

Как я могу вставить свой dbcontext в сервисный слой с помощью Unity IOC. В частности, я хочу быть уверенным, что у меня есть только один dbcontext, и я хочу, чтобы это было уничтожено в нужное время, даже если я использую async.Использование Unity IOC для ввода dbcontext в мои контроллеры и уровень обслуживания?

Мое приложение использует EF6 и общий репозиторий. Там много кода, и я решил, что хотел бы удалить общий репозиторий, использовать EF6-контекст в качестве моего UOW и dbsets в качестве своих репозиториев. Это, по-видимому, подход, рекомендованный рядом более опытных разработчиков здесь, на SO. Имейте в виду, я не хочу менять свою ORM, базу данных. Приложение имеет менее 20 таблиц, и у меня есть много способов проверить его без использования другого репозитория.

+0

взгляните на эти два сообщения в блоге, http://ehsanghanbari.com/Post/6/getting-started-with-entity-framework, http://ehsanghanbari.com/Post/8/repository-pattern- практика-в-данных, уровня доступа, с помощью образованиями-рамок – Ehsan

ответ

0

Я не уверен, что вы подразумеваете, введя свой контекст БД в свой «сервисный уровень», но предположив, что вы имеете в виду веб-сайт ASP.NET MVC на основе тегов, вы просто хотите настроить свой контейнер с помощью глобальный класс DependencyResolver и убедитесь, что ваши контексты настроены на запрос срока службы с помощью PerRequestLifetimeManager.

В MVC here вы можете найти хороший отказ от зависимости.