我刚将EntityFramework
从V6.0.2更新到了V6.1,并且也更新了最新的ASP.NET Identity
。然后我尝试创建一个迁移文件来限制用户名的长度,这在今天发布的新版本的ASP.NET Identity Framework
中是可能的。
我得到了以下错误信息:
与“ApplicationDbContext”上下文的模型后备存储已自数据库创建以来发生了更改。这可能是因为使用了ASP.NET Identity Framework的模型发生了更改,或者应用程序中使用的模型发生了更改。要解决此问题,您需要更新您的数据库。请考虑使用Code First Migrations更新数据库(http://go.microsoft.com/fwlink/?LinkId=301867)。在使用Code First Migrations更新数据库之前,请通过在应用程序中的ApplicationDbContext构造函数中设置throwIfV1Schema = false来禁用ASP.NET Identity的模式一致性检查。
public ApplicationDbContext() : base("ApplicationServices", throwIfV1Schema: false)
我特别关注这一行:
在使用Code First Migrations更新数据库之前,请通过在应用程序中的ApplicationDbContext构造函数中设置throwIfV1Schema = false来禁用ASP.NET Identity的模式一致性检查。
为什么要这样做?以及需要禁用多久?
另外,更新前后我没有更改模型。