我的项目:VS2013, Entity Framework ,Web表单,数据库优先,身份
我今天(2014-4-15)更新了我项目的所有NuGet软件包。其中,身份已升级到2.0.0.0。
我以为一切都很好,但是不幸的是,当我运行该应用程序时,以下语句给出了一个异常(exception)。
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")
{
}
}
...
}
异常信息如下。它要求我执行代码优先迁移。但是我的项目是Database First Webforms项目。我怎么解决这个问题?谢谢!
Microsoft.AspNet.Identity.EntityFramework.dll中发生类型为'System.InvalidOperationException'的异常,但未在用户代码中处理
附加信息:自创建数据库以来,支持“ApplicationDbContext”上下文的模型已更改。
这可能是由于ASP.NET Identity Framework使用的模型已更改或您的应用程序中使用的模型已更改而发生的。
要解决此问题,您需要更新数据库。考虑使用“代码优先迁移”来更新数据库(http://go.microsoft.com/fwlink/?LinkId=301867)。
在使用Code First Migrations更新数据库之前,请通过在应用程序中ApplicationDbContext的构造函数中设置throwIfV1Schema = false来禁用ASP.NET Identity的模式一致性检查。
public ApplicationDbContext():base(“ApplicationServices”,throwIfV1Schema:false)
最佳答案
您需要通过执行错误提示来禁用架构一致性。从版本1.0升级到2.0时,这是一回事。
public ApplicationDbContext() : base("MyConnection", throwIfV1Schema:false)
下一步-进行迁移。
在那之后一切都会正常工作,您可以删除此
throwIfV1Schema:false
您也可以查看this了解更多信息
关于asp.net - 将ASP.NET Identity升级到2.0后出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23079583/