我有用户模型,像这样:
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;
}
}