如何将 IdentityUser 转换为 BaseEntity



我有用户模型,像这样:

    public class User : IdentityUser<Guid>
    {
        public string FullName { get; set; }
       //... more lines
    }

现在我需要为用户使用一些方法,这些方法是为基本实体制作的,所以我想添加基本实体,但它不起作用。

    public class User : IdentityUser<Guid>, BaseEntity
    {
        public string FullName { get; set; }
       //... more lines
    }

我尝试仅使用BaseEntity创建新用户,然后它可以工作,但是后来我丢失了我不想要的IdentityUser的所有方法。

由于在

C# 中不可能进行多重继承,因此您可以将IdentityUser作为字段并包装所需的属性和方法(假设IdentityUser不是您自己的类(:

public class User : BaseEntity
{
    private readonly IdentityUser<Guid> _identityUser;
    public string FullName { get; set; }
    public string UserName
    {
        get { return _identityUser.UserName; }
        set { _identityUser.UserName = value; }
    }
    public string Id
    {
        get { return _identityUser.Id; }
        set { _identityUser.Id = value ; } 
    }
    // ... etc.
    public User(IdentityUser<Guid> identityUser)
    {
        _identityUser = identityUser;
    }
}

最新更新