Извините, если об этом уже ответили, но после 2 часов исследований я еще не нашел окончательного ответа на этот вопрос. Надеюсь, просят дать результаты.Удаление ссылки на Entity Framework из проекта MVC
Я «несколько лучше новичка» с MVC и EF, но я понимаю общую архитектуру приложения. Понимаете, для еще большего разделения проблем и будущих плановых изменений я хотел бы отложить мой проект MVC от Entity Framework. Вот то, что я до сих пор:
- Models проекта (полный хорошо аннотированный Pocos, как контейнеры, нет бизнес-логики)
- DataAccess проекта (ссылки мой проект модели, и Entity Framework)
- MVC Web проект (который ссылается только на мой проект модели)
Я уже создал свой шаблон хранилища (в проекте DataAccess) и протестировал его с помощью отдельного проекта UnitTest. Все работает.
Проблема заключается в том, что потребитель (проект UnitTest, в данном случае) по-прежнему нуждается в nuget с ссылкой на Entity Framework (то же, что и с веб-проектом MVC). Когда я удалить ссылку EF из моего тестового проекта (и вместо того, чтобы прописывать мое соединение строка при переходе его в мой DATAACCESS проект), я получаю эту ошибку:
No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file.
Как я могу спроектировать это, так что я могу полностью удалить ссылку Entity Framework от потребителя репозитория (веб-проекты UnitTest или MVC)? Я хочу делать все через свой репозиторий, без проекта MVC, зная что-нибудь о моей технологии ORM.
Интересно. Так вы могли бы расширить дальше. Как я мог полностью избежать ссылки? И когда я готов выйти из EF и использовать другую ORM, это единственный раз, когда я смогу удалить ссылку EF из проекта MVC? –