我有用户模型,例如:
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方法。
答案 0 :(得分:1)
由于在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;
}
}