实体框架迁移无法在App.config文件中找到连接字符串

时间:2018-03-06 06:38:39

标签: c# entity-framework

我的解决方案中有第二个项目,名为DataAccess(.NET Framework类库),用于模型。我将主要的asp .net mvc项目设置为启动,并从包管理器控制台设置DataAccess作为默认设置。我已经有了一个现有的数据库。因此,我使用package-install命令在DataAccess层中安装了Entity Framework以获取最新信息。然后我添加了一个实体数据模型。但每当我尝试从PM运行enable-migrations时,它会显示No connection string named 'MAHMHEntities' could be found in the application config file.虽然App.config中有一个名为MAHMHEntities的connectionString。在我的MAHMHEntities.cs类中,我声明了连接字符串:

namespace DataAccess.Entities
{
  using System.Data.Entity;

  public partial class MAHMHEntities : DbContext
  {
    public MAHMHEntities()
        : base("name=MAHMHEntities")
    {
    }  
    //other dbset classes
  }  
}  

在DataAccess层中,我有一个有两个connectionString的App.config文件,我自己添加了DefaultConnection

<connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=.\SQL2014;Initial Catalog=MAHMH;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
  <add name="MAHMHEntities" connectionString="data source=.\SQL2014;initial catalog=MAHMH;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />  
</connectionStrings>  

无论我使用哪种连接,当我尝试启用迁移时,总会得到相同的错误。实体框架版本为6.2.0。

1 个答案:

答案 0 :(得分:3)

您需要将数据访问项目设置为启动项目。或者,您可以将连接字符串添加到Web应用程序(当前是启动项目)web.config