Недавно я следовал тому же самому и подумал о MEF (Managed Extensibility Framework). С помощью MEF и рефлексии вы можете избавиться от этой ссылки DAL / Unit of work из корня композиции, и вам не нужно иметь 2 проекта MVC, как обсуждалось выше.

лал трехслойное приложение со ссылками, как описано в этомответ:

DAL with Repositories -> BLL with services and IRepository <- Asp.net mvc-app

Чтобы запустить это с внедрением зависимости, я вижу несколько вариантов:
1. Добавьте ссылку на DAL из веб-приложения, чтобы можно было настроить привязки при запуске приложения.
2. Используйте контейнер с xml-конфигурацией
(3. Используйте отражение, чтобы загрузить dal-сборку и найти типы)

Вариант 1. прост и также позволяет копировать DAL.dll в bin, но затем я неожиданно возвращаю ссылку, от которой я так усердно избавлялся. Теперь к репозиториям можно получить доступ напрямую. Варианты 2 и 3 кажутся излишне сложными.

Нет ли другого пути?

Ответы на вопрос(5)

Ваш ответ на вопрос