我的项目:VS2013,实体框架,Web 表单,数据库优先,身份
我今天(2014-4-15)更新了我项目的所有 NuGet 包。其中Identity升级为2.0.0.0。
我以为事情进展顺利,但不幸的是,当我运行应用程序时,以下语句给出了异常。
namespace xxx.Models
{
// You can add User data for the user by adding more properties to your User class, please visit http://go.microsoft.com/fwlink/?LinkID=317594 to learn more.
public class ApplicationUser : IdentityUser
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("MyConnection")
{
}
}
...
}
异常信息如下。它要求我进行 Code First 迁移。但我的项目是 Database First webforms 项目。我怎么解决这个问题?谢谢!
Microsoft.AspNet.Identity.EntityFramework.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理
附加信息:支持“ApplicationDbContext”上下文的模型自数据库创建以来已更改。这可能是因为 ASP.NET Identity Framework 使用的模型已更改或您的应用程序中使用的模型已更改。要解决此问题,您需要更新数据库。考虑使用 Code First 迁移来更新数据库 ( http://go.microsoft.com/fwlink/?LinkId=301867 )。
在使用 Code First 迁移更新数据库之前,请通过在应用程序的 ApplicationDbContext 的构造函数中设置 throwIfV1Schema = false 来禁用 ASP.NET Identity 的架构一致性检查。公共 ApplicationDbContext() : base("ApplicationServices", throwIfV1Schema:false)