Итак, я создал свою модель сущности в отдельной библиотеке классов. Мне пришлось добавить строку подключения в файл app.config
этой библиотеки классов. Затем я добавил ссылку на этот проект в свое веб-приложение. Я добавил ту же строку подключения в web.config
моего веб-приложения, думая, что именно здесь Entity Framework будет читать строку подключения.
Все было хорошо, пока я не развернул свое веб-приложение. При развертывании я изменил строку подключения в web.config
(а не в app.config
библиотеки классов) и начал получать ошибки. Проведя небольшое исследование, я обнаружил, что строка подключения в web.config
и app.config
должна совпадать !!
Это просто глупо! Каждый раз, когда мне нужно развернуть свое веб-приложение в другой среде, я должен вернуться и изменить строку подключения в файле app.config
, а затем перекомпилировать проект библиотеки классов, чтобы он мог получить обновленную строку подключения. ?
Кто-нибудь нашел способ сделать это лучше? Я имею в виду, что я не могу быть единственным человеком, который задумал поместить модель сущности в отдельную сборку.
Возможное решение (если вы используете EF 4.1): Поскольку единственная причина, по которой нам нужно иметь app.config внутри проекта библиотеки классов, - это конструктор EF. Если мы откажемся от дизайнерского подхода и перейдем к Code-First (EF 4.1), вам не понадобится файл app.config для проекта библиотеки классов.