Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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# dotnet核心标识映射IList<;AppUser>;到IList<;UserDto>;_C#_Asp.net Core_.net Core_Asp.net Core Identity - Fatal编程技术网

C# dotnet核心标识映射IList<;AppUser>;到IList<;UserDto>;

C# dotnet核心标识映射IList<;AppUser>;到IList<;UserDto>;,c#,asp.net-core,.net-core,asp.net-core-identity,C#,Asp.net Core,.net Core,Asp.net Core Identity,我想获得具有coach角色的用户列表。我的查询处理程序如下所示: namespace Application.Coach.Queries.CoachList { public class CoachListQueryHandler : IRequestHandler<CoachListQuery, CoachListVm> { private readonly CoachDataContext _context; private rea

我想获得具有coach角色的用户列表。我的查询处理程序如下所示:

namespace Application.Coach.Queries.CoachList
{
    public class CoachListQueryHandler : IRequestHandler<CoachListQuery, CoachListVm>
    {
        private readonly CoachDataContext _context;
        private readonly IMapper _mapper;
        private readonly UserManager<AppUser> _userManager;

        public CoachListQueryHandler(CoachDataContext context, IMapper mapper, UserManager<AppUser> userManager)
        {
            _context = context;
            _mapper = mapper;
            _userManager = userManager;
        }

        public async Task<CoachListVm> Handle(CoachListQuery request, CancellationToken cancellationToken)
        {
            var coaches = await _userManager.GetUsersInRoleAsync("Coach");
            if (coaches == null) throw new NotFoundException(nameof(Domain.Coach.Coach));

            return new CoachListVm
            {
                CoachList = coaches
            };
        }
    }
}
这是我的教练:

public class CoachListDto : IMapFrom<AppUser>
    {
        public string Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public bool IsApproved { get; set; }
        public ICollection<AppUserRole> UserRoles { get; set; }
        [Column(TypeName = "decimal(18,2)")] public decimal MinHourlyRate { get; set; }
        [Column(TypeName = "decimal(18,2)")] public decimal MaxHourlyRate { get; set; }

        public void Mapping(Profile profile)
        {
            profile.CreateMap<AppUser, CoachListDto>()
                .ForMember(d => d.IsApproved, opt => opt.MapFrom(s => s.Coach.IsApproved))
                .ForMember(d => d.MinHourlyRate, opt => opt.MapFrom(s => s.Coach.MinHourlyRate))
                .ForMember(d => d.MaxHourlyRate, opt => opt.MapFrom(s => s.Coach.MaxHourlyRate));
        }
    }
public-class-CoachListDto:IMapFrom
{
公共字符串Id{get;set;}
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共布尔值已批准{get;set;}
公共ICollection用户角色{get;set;}
[Column(TypeName=“decimal(18,2)”)]public decimal MinHourlyRate{get;set;}
[Column(TypeName=“decimal(18,2)”)]public decimal MaxHourlyRate{get;set;}
公共空白映射(配置文件)
{
profile.CreateMap()
.ForMember(d=>d.IsApproved,opt=>opt.MapFrom(s=>s.Coach.IsApproved))
.ForMember(d=>d.MinHourlyRate,opt=>opt.MapFrom(s=>s.Coach.MinHourlyRate))
.ForMember(d=>d.MaxHourlyRate,opt=>opt.MapFrom(s=>s.Coach.MaxHourlyRate));
}
}

我的问题是如何将Coach映射到CoachLitVm?

返回之前需要添加映射,如下所示

public async Task<CoachListVm> Handle(CoachListQuery request, CancellationToken cancellationToken)
{
    var appUsers = await _userManager.GetUsersInRoleAsync("Coach");
    if (appUsers == null) throw new NotFoundException(nameof(Domain.Coach.Coach));
    var coaches = _mapper.Map<IList<AppUser>, CoachListVm>(appUsers); //here what I mean
    
    return coaches;
}
公共异步任务句柄(CoachListQuery请求、CancellationToken CancellationToken)
{
var appUsers=await_userManager.GetUsersInRoleAsync(“Coach”);
if(appUsers==null)抛出newnotfoundexception(nameof(Domain.Coach.Coach));
var coach=\u mapper.Map(appUsers);//我的意思是
返回车厢;
}

是否可以使用
\u mapper.Map
方法?另外,
教练的类型是什么?因为你的问题是unclear@PavelAnikhouskicoach是具有
coach
角色的应用程序用户。
public async Task<CoachListVm> Handle(CoachListQuery request, CancellationToken cancellationToken)
{
    var appUsers = await _userManager.GetUsersInRoleAsync("Coach");
    if (appUsers == null) throw new NotFoundException(nameof(Domain.Coach.Coach));
    var coaches = _mapper.Map<IList<AppUser>, CoachListVm>(appUsers); //here what I mean
    
    return coaches;
}