Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将IdentityUser转换为BaseEntity_C#_Oauth 2.0 - Fatal编程技术网

C# 如何将IdentityUser转换为BaseEntity

C# 如何将IdentityUser转换为BaseEntity,c#,oauth-2.0,C#,Oauth 2.0,我有一个用户模型,如下所示: public class User : IdentityUser<Guid> { public string FullName { get; set; } //... more lines } 公共类用户:IdentityUser { 公共字符串全名{get;set;} //…更多线路 } 现在我需要为用户使用一些方法,这些方法是为基本实体创建的,所以我想添加基本实体,但它不起作用 pub

我有一个用户模型,如下所示:

    public class User : IdentityUser<Guid>
    {
        public string FullName { get; set; }
       //... more lines
    }
公共类用户:IdentityUser
{
公共字符串全名{get;set;}
//…更多线路
}
现在我需要为用户使用一些方法,这些方法是为基本实体创建的,所以我想添加基本实体,但它不起作用

    public class User : IdentityUser<Guid>, BaseEntity
    {
        public string FullName { get; set; }
       //... more lines
    }
public类用户:IdentityUser,BaseEntity
{
公共字符串全名{get;set;}
//…更多线路
}

我试着用BaseEntity创建新用户,然后它就工作了,但是我失去了我不想要的IdentityUser的所有方法。

因为在C#中不可能有多重继承,你可以将一个
IdentityUser
作为一个字段,并包装你想要的属性和方法(假设
IdentityUser
不是您自己的类):

公共类用户:BaseEntity
{
私有只读标识符用户(U IdentityUser);
公共字符串全名{get;set;}
公共字符串用户名
{
获取{return\u identityUser.UserName;}
设置{u identityUser.UserName=value;}
}
公共字符串Id
{
获取{return_identityUser.Id;}
设置{u identityUser.Id=value;}
}
//……等等。
公共用户(IdentityUser IdentityUser)
{
_identityUser=identityUser;
}
}

IdentityUser
BaseEntity
都是类吗?IdentityUser和BaseEntity可能重复的都是类。我将研究多重继承,谢谢,但我在某个地方读到,这可以通过映射实现
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;
    }
}