1

我正在用 EF 编写一个 MVC5 应用程序。我第一次注册用户时,将 ASP.NET Identity 添加到在我的数据库中创建 ASPNETUser 表的项目中。但是现在,当我尝试自定义 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=&quot;data source=DILS-S1301;initial catalog=MVC5;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

我该怎么做?

4

1 回答 1

7

首先,我认为你是否有一个或多个连接字符串并不重要。但是您应该确保在“IdentityModels.cs”文件中,ApplicationDbContext 将使用您的主连接字符串,而不是默认连接字符串。如下所示:

public ApplicationDbContext() : base("MVC5Entities")
{
}

其次,如果您为用户添加了一些配置文件数据,则需要使用迁移来更新数据库。

1)转到包管理器控制台

2) -> 启用迁移

3) -> 添加迁移初始化

4) -> 更新数据库

希望能帮助到你。

于 2013-11-06T21:00:40.990 回答