C# 如何将PageList类从实体自动映射到DTO

C# 如何将PageList类从实体自动映射到DTO,c#,.net-core,automapper,C#,.net Core,Automapper,我已经复制了一份页面列表,如下所示: 这样就行了: PagedList<MYENTITY> myentityPaged = myTempEntity.ToPagedList(parameters.PageNumber, parameters.PageSize); PagedList MyEntityPage=myTempEntity.ToPagedList(parameters.PageNumber,parameters.PageSize); 但现在我想把它映射到dto

我已经复制了一份页面列表,如下所示:

  • 这样就行了:

     PagedList<MYENTITY> myentityPaged = myTempEntity.ToPagedList(parameters.PageNumber, parameters.PageSize);
    
    PagedList MyEntityPage=myTempEntity.ToPagedList(parameters.PageNumber,parameters.PageSize);
    
  • 但现在我想把它映射到dto

  • 所以我试了一下

     mapper.Map<PagedList<MYENTITY>, PagedList<myDto>>(myentityPaged) 
    
    mapper.Map(MyEntityPage)
    
    但这当然不起作用,因为它需要特定的构造。因此,disablectorvalization()将不起作用

  • 因此,我正在尝试按如下方式完成自定义映射

      .ConstructUsing(x=>new PagedList<MyDto>(new List<MyDto>, x.CurrentPage, x.PageSize)
    
    .ConstructUsing(x=>新页面列表(新列表,x.CurrentPage,x.PageSize)
    
  • 但这并不好用…因为它现在需要的是特定的实例,而不是我认为的类型

    --
    我现在通过在两个“ToPagedList”语句之间放置一条中间线来解决这个问题,这两个语句将实体列表映射到dto列表,paged list作为输入,list of dto作为输出。

    很久没有使用AutoMapper了,所以我不记得具体细节,但我记得它可以映射查询文件,比如
    entities.Select(map).ToPagedList(…)
    应该是可能的。