У меня очень стандартизированный проект в DDD (Domain-Driven Design), поэтому это означает, что каждый уровень имеет свои обязанности, и ни один уровень не знает кроме себя, а Уровень домена.Как удалить EntityFramework.SqlServer Ссылка из проекта WebApplication в решении DDD
Вот структура моего проекта:
Infra.Data
Мой слой отвечает за соединение с базой данных, и я сохраняющиеся с помощью EntityFramework
.
Моя проблема: для того, чтобы заставить его работать с SQLServer базами данных, мне нужно, чтобы добавить ссылку на EntityFramework.SqlServer
в моем WebApplication
слое, который разрушает мое разделение концепции касается, как вы можете увидеть ниже.
Даже имея ту же ссылку в моем Infra.Data
слое, который где он только должен быть, как вы можете увидеть ниже.
Если я удалить EntityFramework.SqlServer
ссылку из WebApplication
слоя, он перестает работать, и бросает исключение, каждый раз, когда я пытаюсь сохранять данные, как вы можете увидеть ниже.
Мне нужно знать, как удалить эту ссылку, чтобы сохранить разделение задач, так как это теперь, я должен буду изменить мой WebApplication
, если я хочу изменить свою настойчивость. На моем веб-уровне запрещено даже иметь что-либо со словом «EntityFramework». Я хочу, чтобы ПОЛНОЕ разделение проблем меняло любой слой, не влияя ни на что другое.
Если я зарегистрировать <entityFramework>
поставщика в моем Web.config файл, он будет работать только если у меня есть EntityFramework.SqlServer
в проекте, но без EntityFramework.SqlServer
ссылки на WebApplication
, это пропустить пространство имен и жаловаться.
Примечание: Мой проект также подключается к MySql баз данных успешно, и я не не нужны никакие ссылки на MySql.Data
или любую другую библиотеку MySql в моем WebApplication
слое, как и ожидалось.
Пожалуйста, помогите мне, мой DDD/Разделение проблем OCD трескается на нем, спасибо.
Спасибо, несмотря на неприглядную природу, это именно то, что мне нужно. –
@EdgarSalazar Добро пожаловать. Если это решит вашу проблему, не забудьте отметить ее как ответ. –