Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Core 2.1-IdentityUser问题-无法为';IdentityUser';此类型不包括在上下文的模型中_C#_Asp.net Core 2.1 - Fatal编程技术网

C# ASP.NET Core 2.1-IdentityUser问题-无法为';IdentityUser';此类型不包括在上下文的模型中

C# ASP.NET Core 2.1-IdentityUser问题-无法为';IdentityUser';此类型不包括在上下文的模型中,c#,asp.net-core-2.1,C#,Asp.net Core 2.1,我已将代码从ASP.NET Core 2.0升级到Core 2.1。我创建了一个新的Core2.1项目,并将代码移动到新项目中。我已经提供了我的启动和ApplicationDbContext 尝试登录时出现以下错误 无法为“IdentityUser”创建数据库集,因为此类型不是 包含在上下文的模型中。 Microsoft.EntityFrameworkCore.Internal.InternalDbSet.get\u EntityType() startup.cs //Core 2.1 se

我已将代码从ASP.NET Core 2.0升级到Core 2.1。我创建了一个新的Core2.1项目,并将代码移动到新项目中。我已经提供了我的启动和
ApplicationDbContext

尝试登录时出现以下错误

无法为“IdentityUser”创建数据库集,因为此类型不是 包含在上下文的模型中。 Microsoft.EntityFrameworkCore.Internal.InternalDbSet.get\u EntityType()

startup.cs

//Core 2.1
  services.AddDefaultIdentity<IdentityUser>()
            .AddEntityFrameworkStores<ApplicationDbContext>()
            .AddDefaultTokenProviders();            

////Old Core 2.0 Code
  //services.AddIdentity<ApplicationUser, IdentityRole>()
        //    .AddEntityFrameworkStores<ApplicationDbContext>()
        //    .AddDefaultTokenProviders();
//核心2.1
services.AddDefaultIdentity()
.AddEntityFrameworkStores


尝试更改
公共部分类应用程序的bContext:IdentityDbContext,并使用提供给generic
IdentityDbContext
类的类型。

从startup.cs更改

services.AddDefaultIdentity<IdentityUser>()
services.AddDefaultIdentity()

services.AddDefaultIdentity()

作为后续措施:为了避免在此处修复后出现下一个可能的问题:您还必须更改
视图\Shared\u LoginPartial.cshtml中的类型

@inject-SignInManager-SignInManager
@注入用户管理器用户管理器

@inject-SignInManager-SignInManager
@注入用户管理器用户管理器

ApplicationDbContext
更改为:

private static bool _Created = false;

public ApplicationDbContext()
{
    if (!_Created)
    {
        _Created = true;
        Database.EnsureCreated();

    }
}

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlServer(@"server = .\SQLSERVER; initial catalog = DBName; Integrated Security = True; MultipleActiveResultSets = True; App = EntityFramework & quot; ");
}

protected override void OnModelCreating(ModelBuilder builder)
{
    base.OnModelCreating(builder);
}

h@ly$h1t!这就是答案!谢谢你,先生!但这超过了登录时的任何自定义域
services.AddDefaultIdentity<ApplicationUser>()
@inject SignInManager<IdentityUser> SignInManager
@inject UserManager<IdentityUser> UserManager
@inject SignInManager<ApplicationUser> SignInManager
@inject UserManager<ApplicationUser> UserManager
private static bool _Created = false;

public ApplicationDbContext()
{
    if (!_Created)
    {
        _Created = true;
        Database.EnsureCreated();

    }
}

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlServer(@"server = .\SQLSERVER; initial catalog = DBName; Integrated Security = True; MultipleActiveResultSets = True; App = EntityFramework & quot; ");
}

protected override void OnModelCreating(ModelBuilder builder)
{
    base.OnModelCreating(builder);
}