Строка соединения с именем "MyApplicationEntities" не может быть найдена в файле конфигурации приложения
Я просто устанавливаю EF 4.3 и пытаюсь обновить свой проект с помощью миграции. однако у меня возникают проблемы с попыткой выполнить add-migration initial
в моем проекте с помощью консоли диспетчера пакетов.
Теперь он бросает любое исключение No connection string named 'MyApplicationEntities' could be found in the application config file.
Теперь моя конфигурация имеет все
<connectionStrings>
<add name="MyApplicationEntities"
connectionString="metadata=res://*/DataModel.csdl|res://*/DataModel.ssdl|res://*/DataModel.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost;initial catalog=MyApplicationEntitiesDB;integrated security=True;multipleactiveresultsets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
Я не уверен, в чем проблема: это ошибка в EF 4.3 или есть что-то, что я не делаю правильно.
Я думал, что этот пост решил проблему, но не совсем.
Любой получил ответ.
Цените Сандж.
Ответы
Ответ 1
А, понял это случайно.
Мне пришлось удалить
public MasterEntities()
: base("name=MyApplicationEntities")
// ^^^^^
{
}
to
public MasterEntities()
: base("MyApplicationEntities")
{
}
EF 4.3 не любит, чтобы строка подключения вызывалась name=xxxxx
Ответ 2
Решение, указанное в Сандж, указано, что вам нужно скопировать строку подключения из проекта базы данных App.config в веб-проект web.config. Я не уверен, почему вышеупомянутый ответ отмечен как правильный. Я добавляю это как ответ вместо комментария, чтобы будущие читатели это заметили.
Ответ 3
У меня была такая же ошибка, но у меня уже был файл web.config с правильным именем строки подключения и правильно объявлен DbContext. Тем не менее, я заметил, что когда я запускал add-migration с -Verbose, он указывал "Startup Project" как другой проект, чем тот, который содержит мой контекст. Поэтому я меняю Startup Project, повторно запускаю add-migration и все это работает!!
Ответ 4
Убедитесь, что в файле конфигурации проекта statup есть строка подключения. Эта ссылка может помочь вам.
Ответ 5
У меня также была эта проблема и она была решена с помощью
- Выбор правильного
StartUp project
.
- Перезапуск команды в консоли диспетчера пакетов.
Вещи, как ожидалось.
Ответ 6
Я также столкнулся с аналогичным исключением. Первоначально AppConfig создается в проекте, который мы создаем модель сущности.
Но если вы выполняете приложение с использованием какого-либо другого проекта (в моем решении есть несколько проектов), AppConfig должен быть включен в проект, который выполняется.
Ответ 7
1. ctor => Context
public MasterEntities()
: base("ConnectionStringName")
{
}
2. config file
<add name="ConnectionStringName"
connectionString="Data Source=.;Initial Catalog=DatabaseName;User Id=sa; Password=YourPass;"
providerName ="System.Data.SqlClient" />
3. in Sulation Exporer right click the project and select 'Set as
startup project'
4. in PackageManagerConsole Change Default Project to Your Project of
context class.
5. then:
add-migration new
или добавили ConnectionString в файл конфигурации работающего проекта.