Строка соединения с именем "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=&quot;data source=localhost;initial catalog=MyApplicationEntitiesDB;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" 
     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 в файл конфигурации работающего проекта.