C# EF核心查询自定义标识用户

C# EF核心查询自定义标识用户,c#,ef-core-2.1,C#,Ef Core 2.1,我还是EF Core的新手,之前我使用过PetaPoco,所以请原谅我的无知。在我的数据库中,我将以下字段添加到我的AspNetUsers表中: 高贵的 解散 名字 姓氏 然后,我创建了以下类: 及 但显然我不能,因为这些属性在用户DbSet上不存在 长话短说,我认为我已经正确地设置了所有内容,但如何真正查询我的扩展标识用户 编辑 根据要求,以下是我的DbContext。我现在只有一个虚拟表,因为我只是想先让AspNetUsers表上的扩展工作: public partial class [re

我还是EF Core的新手,之前我使用过PetaPoco,所以请原谅我的无知。在我的数据库中,我将以下字段添加到我的AspNetUsers表中:

高贵的 解散 名字 姓氏 然后,我创建了以下类:

但显然我不能,因为这些属性在用户DbSet上不存在

长话短说,我认为我已经正确地设置了所有内容,但如何真正查询我的扩展标识用户

编辑

根据要求,以下是我的DbContext。我现在只有一个虚拟表,因为我只是想先让AspNetUsers表上的扩展工作:

public partial class [removed for confidentiality]Context : IdentityDbContext
{
    public [removed for confidentiality]Context()
    {
    }

    public [removed for confidentiality]Context(DbContextOptions<[removed for confidentiality]Context> options)
        : base(options)
    {
    }

    public virtual DbSet<Foo> Foos { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
        }
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.HasAnnotation("ProductVersion", "[removed for confidentiality]");

        modelBuilder.Entity<Foo>(entity =>
        {
            entity.Property(e => e.FooName).IsUnicode(false);
        });

        OnModelCreatingPartial(modelBuilder);
    }

    partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}

必须为IdentityDbContext指定类型参数。你需要继承他的遗产。如果没有类型参数,则使用ASP.NET核心标识中定义的类。您想要更改的所有内容都必须反映在代码中

public partial class [removed for confidentiality]Context : IdentityDbContext<ApplicationUser>
{
    public [removed for confidentiality]Context()
    {
    }

    public [removed for confidentiality]Context(DbContextOptions<[removed for confidentiality]Context> options)
        : base(options)
    {
    }

    public virtual DbSet<Foo> Foos { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
        }
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.HasAnnotation("ProductVersion", "[removed for confidentiality]");

        modelBuilder.Entity<Foo>(entity =>
        {
            entity.Property(e => e.FooName).IsUnicode(false);
        });

        OnModelCreatingPartial(modelBuilder);
    }

    partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}

你能发布你的DbContext实现细节吗?@dropoutcoder是的,我会把它放上去。但现在我只是有一个虚拟的表连接起来,只是为了在那里有一些东西。非常感谢你,我很高兴这是一个如此简单的修复。我很乐意帮助!
/// <summary>
/// Gets every User.
/// </summary>
/// <returns>HTTP Result</returns>
[HttpGet]
[Route("")]
public async Task<ActionResult<IEnumerable<ApplicationUser>>> GetUsers()
{
    var users = await this._context.Users.Select(user => new
    {
        user.Id,
        user.Decativated,
        user.Elevated,
        user.Email,
        user.FirstName,
        user.LastName
    }).ToListAsync();

    return Ok(users);
}
public partial class [removed for confidentiality]Context : IdentityDbContext
{
    public [removed for confidentiality]Context()
    {
    }

    public [removed for confidentiality]Context(DbContextOptions<[removed for confidentiality]Context> options)
        : base(options)
    {
    }

    public virtual DbSet<Foo> Foos { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
        }
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.HasAnnotation("ProductVersion", "[removed for confidentiality]");

        modelBuilder.Entity<Foo>(entity =>
        {
            entity.Property(e => e.FooName).IsUnicode(false);
        });

        OnModelCreatingPartial(modelBuilder);
    }

    partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}
public partial class [removed for confidentiality]Context : IdentityDbContext<ApplicationUser>
{
    public [removed for confidentiality]Context()
    {
    }

    public [removed for confidentiality]Context(DbContextOptions<[removed for confidentiality]Context> options)
        : base(options)
    {
    }

    public virtual DbSet<Foo> Foos { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
        }
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.HasAnnotation("ProductVersion", "[removed for confidentiality]");

        modelBuilder.Entity<Foo>(entity =>
        {
            entity.Property(e => e.FooName).IsUnicode(false);
        });

        OnModelCreatingPartial(modelBuilder);
    }

    partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}