52

我只是安装 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 中的错误还是我做的不对。

我认为这篇文章已经解决了这个问题,但还没有完全解决。

任何人都得到了答案。

欣赏三杰。

4

9 回答 9

108

啊,一不小心就想到了。

我不得不删除

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

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

EF 4.3 不喜欢调用连接字符串name=xxxxx

于 2012-06-11T11:42:20.197 回答
43

Sanj 指出的解决方案是您需要将连接字符串从数据库项目的 App.config 复制到 Web 项目的 web.config。我不确定为什么上述答案被标记为正确。我将此添加为答案而不是评论,以便未来的读者会发现这一点。

于 2013-05-06T14:50:23.227 回答
31

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

于 2014-01-28T19:32:30.203 回答
8

确保您的 statup 项目配置文件具有连接字符串。此链接可能会对您有所帮助。

于 2015-06-16T06:09:49.590 回答
7

我也有这个问题并解决了

  1. 选择正确的StartUp project.
  2. 在包管理器控制台上重新运行命令。

事情按预期进行。

于 2015-05-18T20:50:04.237 回答
3

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

于 2013-11-08T07:57:29.923 回答
1
 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 添加到工作项目的配置文件中。

于 2017-10-21T13:01:05.113 回答
0

就我而言,我有两个项目:

在此处输入图像描述

我只需要将连接字符串从 DAL App.Config 项目复制到 WPF App.Config 项目

于 2021-02-23T19:02:37.573 回答
-1

对于因为在 Visual Studio 中使用 WPF 时遇到此错误而到达这里的任何人,查看这篇文章: Does MVVM stop the ability for the Visual Studio Designer to show xaml?

于 2018-10-17T16:55:43.727 回答