C#IdentityUser的基本虚拟属性不可见

问题描述 投票:0回答:1

我创建了一个继承自Microsoft.AspNet.Identity.EntityFramework的AppUser类,看起来像下面的代码,但除非我覆盖它们,否则IdentityUser的基本属性是不可见的?不应该通过AppUser类继承来访问IdentityUser的公共虚拟字段吗?

这发生在一个“类”项目中,输出是一个DLL,目标是.Net 4.6.2,我想我已经拥有了所有必需的软件包。我可以使用AppUser类;创建用户,创建角色,将用户添加到角色等等。在我的其他项目中,只是无法弄清楚为什么继承行为似乎在不同方面有所不同?

public class AppUser : IdentityUser
{
    // why do I need to override these to get access to them
    public override string Id { get => base.Id; set => base.Id = value; }
    public override string Email { get => base.Email; set => base.Email = value; }
    public override string UserName { get => base.UserName; set => base.UserName = value; }
    public override string PasswordHash { get => base.PasswordHash; set => base.PasswordHash = value; }

    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }

    [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public DateTime CreateDate { get; set; }

}
c# asp.net-identity virtual
1个回答
2
投票

您必须通过添加NuGet包Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll在项目中引用Microsoft.AspNet.Identity.EntityFramework,因为这是声明这些属性的地方。仅引用声明AppUser的DLL是不够的。

© www.soinside.com 2019 - 2024. All rights reserved.