我的解决方案中有第二个项目,名为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。
答案 0 :(得分:3)
您需要将数据访问项目设置为启动项目。或者,您可以将连接字符串添加到Web应用程序(当前是启动项目)web.config