Я использую сначала базу данных Entity Framework 6. Я преобразовываю проект для реализации архитектуры лука, чтобы двигаться к лучшему разделению проблем. Я прочитал много статей и просмотрел много видеороликов, но некоторые проблемы решали в моей структуре решения.
У меня есть 4 проекта: Core, Infrastructure, Web и Tests.
Из того, что я узнал, файл .edmx должен быть помещен в мою папку "Инфраструктура". Тем не менее, я также прочитал об использовании шаблонов Repository и Unit of Work для помощи в развязывании EF и использовании Injection Dependency.
С этим сказано:
-
Должен ли я создавать интерфейсы репозитория в CORE для всех объектов в моей модели? Если да, то как бы сохранить это в огромной базе данных? Я заглянул в automapper, но обнаружил проблемы с его представлением IEnumererables vs. IQueryables, но есть расширение, доступное ему для этого. Я могу попробовать этот маршрут глубже, но хочу сначала услышать.
-
Как альтернатива, должен ли я оставить edmx в Infrastructure и перенести файлы .tt T4 для моих объектов в CORE? Имеет ли это какое-либо плотное соединение или хорошее решение?
-
Будет ли общий интерфейс репозитория работать с предложением, которое вы предоставляете? Или, может быть, EF6 уже решает проблему с репозиторием и UoW?
Благодарим вас за рассмотрение моего вопроса и просьба представить любые альтернативные ответы.
Я нашел подобный пост здесь, на который не ответил: EF6 и архитектура Onion - база данных сначала и без шаблона репозитория