我正在使用EF编写MVC5应用程序。我 ASP.NET 标识添加到项目中,该项目在第一次注册用户时在我的数据库中创建了 ASPNETUser 表。但是现在,当我尝试自定义用户配置文件时(如本文所列:http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on)
我得到以下信息:
The model backing the 'ApplicationDbContext' context has changed since the database was created. Consider using Code First Migrations to update the database
是因为我已经指定了 .edmx 文件(MVC5实体)=>(请参阅 web.config 中的 2 个连接字符串)?
这是我的 web.config:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=DILS-S1301;Initial Catalog=MVC5;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="MVC5Entities" connectionString="metadata=res://*/Models.Mvc5Model.csdl|res://*/Models.Mvc5Model.ssdl|res://*/Models.Mvc5Model.msl;provider=System.Data.SqlClient;provider connection string="data source=DILS-S1301;initial catalog=MVC5;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
我该怎么做?
首先,我认为您是否有一个或多个连接字符串并不重要。但是你应该确保在"IdentityModels.cs"文件中,ApplicationDbContext将使用你的主连接字符串,而不是默认的连接字符串。如下所示:
public ApplicationDbContext() : base("MVC5Entities")
{
}
其次,如果为用户添加了一些配置文件数据,则需要使用迁移来更新数据库。
1) 转到程序包管理器控制台
2) ->启用迁移
3) -> 添加迁移初始化
4) -> 更新数据库
希望对您有所帮助。