我的解决方案中有第二个项目,名为DataAccess(.NET Framework Class Library(,用于模型。我将我的主 asp .net mvc 项目设置为启动,并从包管理器控制台将 DataAccess 设置为默认值。我已经有一个现有的数据库。因此,我使用package-install
命令在 DataAccess 层中安装了实体框架以获取最新版本。然后,我添加了一个实体数据模型。但是每当我尝试从 PM 运行enable-migrations
时,它都会显示No connection string named 'MAHMHEntities' could be found in the application config file.
尽管 App.config 中有一个名为 MAHMHEntities
的连接字符串。在我的 MAHMHEntities.cs 类中,我声明了连接字符串:
namespace DataAccess.Entities
{
using System.Data.Entity;
public partial class MAHMHEntities : DbContext
{
public MAHMHEntities()
: base("name=MAHMHEntities")
{
}
//other dbset classes
}
}
在数据访问层中,我有两个连接字符串的 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。
您需要将数据访问项目设置为启动项目。或者,您可以将连接字符串添加到 Web 应用程序的(当前正在启动项目(web.config