Я использую Entity Framework и недавно пришел к пониманию преимуществ использования вашей модели EF в другом проекте в рамках одного и того же решения, чтобы я мог создавать из него несколько пользовательских интерфейсов.
Я переместил его в новый проект библиотеки классов и обновил все ссылки на объекты в веб-проекте, чтобы использовать новую DLL, сгенерированную проектом. Все прошло гладко, за исключением одной маленькой хватки. Когда я переместил EF на новый проект, он каким-то образом все еще читал строку подключения из web.config в веб-проекте (не спрашивайте меня, потому что у меня нет подсказки).
Я использовал "Обновить модель из базы данных" в дизайнере EF и не нашел строку подключения (как я и ожидал после ее переноса в новый проект), поэтому я использовал мастер для создания новой строки подключения, сделал просто отлично. Новая строка подключения теперь находится в приложении App.config в рамках проекта библиотеки классов. Строка подключения в окне свойств теперь корректна, и дизайнер читает ее из App.Config. Я пошел вперед и удалил строку подключения из Web.Config в веб-проекте.
Теперь при запуске приложения появляется следующая ошибка:
Указанное именованное соединение либо не находится в конфигурации, не предназначено для использования с поставщиком EntityClient, либо недействительно.
Если я вставляю строку подключения обратно в Web.Config, все работает отлично. Я не хочу создавать новую EF-модель с нуля, потому что это довольно сложная модель, и я сделал много реструктуризации после того, как вытащил из БД. Я вылил полученный CS файл, а также XML в файл edmx и не нашел ничего полезного. Буду признателен за любую оказанную помощь. Очевидно, пока, пока не выясню это, я просто оставляю строку подключения в web.config, поскольку по какой-либо причине это работает.