Sha*_*eKm 1 asp.net-mvc entity-framework asp.net-mvc-5 asp.net-identity
我正在用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
Run Code Online (Sandbox Code Playgroud)
是因为我已经指定了.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>
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
首先,我认为如果你有一个或多个connectionStrings并不重要.但是你应该确保在"IdentityModels.cs"文件中,ApplicationDbContext将使用你的主connectionString而不是默认的conncetionString.如下所示:
public ApplicationDbContext() : base("MVC5Entities")
{
}
Run Code Online (Sandbox Code Playgroud)
其次,如果您为用户添加了一些配置文件数据,则需要使用迁移来更新数据库.
1)转到包管理器控制台
2) - >启用 - 迁移
3) - > Add-Migration init
4) - >更新 - 数据库
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
2818 次 |
| 最近记录: |