我正在用EF写一个MVC5应用程序。我在第一次注册用户时在我的数据库中创建ASPNETUser表的项目中添加了ASP.NET Identity。但是现在,当我尝试自定义UserProfile时(如本文所列: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文件(MVC5Entities)=> (请参阅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>
我该怎么做?
答案 0 :(得分:7)
首先,我认为如果你有一个或多个connectionStrings并不重要。 但是你应该确保在“IdentityModels.cs”文件中,ApplicationDbContext将使用你的主connectionString而不是默认的conncetionString。 如下所示:
public ApplicationDbContext() : base("MVC5Entities")
{
}
其次,如果您为用户添加了一些配置文件数据,则需要使用迁移来更新数据库。
1)转到程序包管理器控制台
2) - &gt;启用的迁移
3) - &gt;添加迁移init
4) - &gt;更新数据库
希望它有所帮助。