在应用程序configuration文件中找不到名为“MyApplicationEntities”的连接string

我只是安装EF 4.3并试图通过迁移升级我的项目。 但是我正在尝试通过包pipe理器控制台执行add-migration initial到我的项目的问题。

现在抛出任何exceptionNo connection string named 'MyApplicationEntities' could be found in the application config file.

现在我的configuration已经完成了

 <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中的一个错误,还是我做得不对。

我认为这个post已经解决了这个问题,但不是很完美。

任何人都有答案。

感谢桑吉。

啊,意外的发现了这个。

我不得不删除

 public MasterEntities() : base("name=MyApplicationEntities") // ^^^^^ { } 

 public MasterEntities() : base("MyApplicationEntities") { } 

EF 4.3不喜欢连接string被称为name=xxxxx

Sanj指出的解决scheme是,您需要将连接string从数据库项目的App.config复制到Web项目的web.config。 我不知道为什么上面的答案被标记为正确的。 我将这个作为答案而不是评论join,所以未来的读者会发现这一点。

我有同样的错误,但我已经有一个正确的连接string名称和DbContext声明正确的web.config文件。 不过,我注意到当我用-Verbose运行add-migration时,它将“启动项目”声明为不同于包含我的上下文的项目。 所以我更改启动项目,重新运行添加迁移,它一切工作!

确保你的statup项目configuration文件有连接string。这个链接可能会帮助你。

我也有这个问题,并通过解决

  1. select正确的StartUp project
  2. 在Package Manager控制台上重新运行该命令。

事情按预期完成。

我也遇到了类似的例外。 AppConfig最初是在我们生成实体模型的项目中创build的。 但是,如果您使用其他项目执行应用程序(在我的解决scheme中有几个项目),则需要将AppConfig包含在正在执行的项目中。

  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添加到工作项目的configuration文件中。