Entity Framework 4.3: «update-database», когда файлы конфигурации разделены - PullRequest
3 голосов
/ 15 февраля 2012

Перемещено в ef 4.3 с

AutomaticMigrationsEnabled = true;

В web.config имеются следующие настройки:

<appSettings configSource="appSettings.config" />
<connectionStrings configSource="connectionStrings.config" />

В консоли диспетчера пакетов выполнить

update-database -verbose

и получил следующую ошибку:

System.Configuration.ConfigurationErrorsException: Unable to open configSource file 'connectionStrings.config'

Ошибка понятна: он пытается открыть файл connectionStrings.config из рабочего каталога, который не является корневым каталогом проекта, в котором существует файл connectionStrings.config.

Если содержимое connectionStrings.config и appSettings.config для перемещения в web.config все работает как шарм.

Это ошибка, которую можно как-то решить?

Ответы [ 3 ]

1 голос
/ 08 марта 2012

Похоже, эта ошибка была исправлена ​​в 4.3.1 .

Включена поддержка конфигурации в файлах конфигурации при использовании Code First Migrations.

1 голос
/ 08 марта 2012

Когда миграции выполняются, кажется, что двоичные файлы и файл конфигурации копируются во временный каталог.Файлы, обозначенные configSource, не копируются.Я попытался пометить configSource файлы, которые будут скопированы в сборке, но безуспешно.

Я вернулся к размещению строки подключения прямо в app.config библиотеки классов, которая содержит мой dbcontext имиграции.Для этого у меня есть отдельная библиотека классов, поэтому мой web.config основного веб-проекта все еще может использовать configSource.

0 голосов
/ 24 марта 2017

Использование EF 6.1 здесь.

Если, как и я, вы ссылались на файл connectionStrings.config, расположенный в другом проекте, отличном от вашего проекта миграции Entity Framework (используя «Добавить как ссылку»), вам, вероятно, потребуется переместить файл обратно в этот проект EF и указать ссылку на Вместо этого перенесли файл из других проектов ...

...