Перемещение модели Entity Framework в библиотеку классов из веб-проекта

Я использую Entity Framework и недавно осознал преимущества наличия вашей модели EF в другом проекте в рамках того же решения, чтобы я мог создавать из нее несколько пользовательских интерфейсов.

Я переместил его в новый проект библиотеки классов и обновил все ссылки на сущности в веб-проекте, чтобы использовать новую DLL, созданную проектом. Все прошло гладко, за исключением одной маленькой загвоздки. Когда я переместил EF в новый проект, каким-то образом он все еще считывал строку подключения из web.config в веб-проекте (не спрашивайте меня, как, потому что я понятия не имею).

Я использовал «Обновить модель из База данных »в конструкторе EF, и он не нашел строку подключения (как я и ожидал, переместив ее в новый проект), поэтому я использовал мастер для создания новой строки подключения, и он отлично справился. Новая строка подключения теперь находится в App.config в проекте библиотеки классов. Строка подключения в окне свойств теперь верна, и дизайнер читает ее из App.Config. Я пошел дальше и удалил строку подключения из Web.Config в веб-проекте.

Теперь при запуске приложения я получаю следующую ошибку:

Указанное именованное соединение либо не найдено в конфигурации, либо не предназначено для используется с поставщиком EntityClient или недействителен.

Если я вставлю строку подключения обратно в Web.Config, все будет работать нормально. Я не хочу создавать новую модель EF с нуля, потому что это довольно сложная модель, и я провел большую реструктуризацию после извлечения из базы данных. Я пролил сгенерированный файл CS, а также XML в файл edmx и не могу найти ничего полезного. Буду признателен за любую оказанную помощь. Очевидно, пока, пока я не разберусь с этим, я просто оставляю строку подключения в web.config, поскольку по какой-то причине это работает.

17
задан Chev 12 September 2014 в 16:18
поделиться