升级ASP.NET Identity到2.0后出现异常

 2023-02-15    307  

问题描述

我的项目:VS2013,实体框架,Web表单,数据库首先,身份

我更新了今天项目的所有Nuget软件包(2014-4-15).其中,身份升级到2.0.0.0.

升级ASP.NET Identity到2.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") 
        {
        }
    }
...
}

例外信息如下.它要求我首先进行代码.但是我的项目是数据库第一WebForms项目.我怎么解决这个问题?谢谢!


Microsoft.aspnet.Identity.EntityFrameWork.dll中出现了” System.InvalidoperationException”类型的例外

附加信息:自数据库创建以来,备份” ApplicationDbContext”上下文的模型已更改.
这可能是因为ASP.NET身份框架使用的模型已更改,或者您的应用程序中使用的模型已更改.
要解决此问题,您需要更新数据库.考虑使用代码首先迁移来更新数据库( http://go.microsoft.com/f.microsoft.com/fwlink/?linkid = 301867 ).
在使用Code First Migration更新数据库之前,请通过在应用程序中的ApplicationDbContext的构造函数中设置throwifv1schema = false,禁用架构一致性检查ASP.NET身份.
public ApplicationDbContext():base(” applicationservices”,throwifv1schema:false)

推荐答案

您需要通过执行错误所说的内容来禁用模式一致性.这是您从1.0版升级到2.0时发生的一次.

public ApplicationDbContext() : base("MyConnection", throwIfV1Schema:false)

下一步 – 迁移.

之后一切都应该工作,您可以删除此throwIfV1Schema:false

您也可以看一下 this 有关更多信息

其他推荐答案

问题在这里:

public class ApplicationUser : IdentityUser
{
}

我认为您应该更改为partial类以扩展实体框架中的实体.原因是EF将生成每个实体连接到数据库的代理类.

partial类应在相同的名称空间中写入.

以上所述是小编给大家介绍的升级ASP.NET Identity到2.0后出现异常,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33768.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。