C# 如何将AutoMapper与页面列表一起使用?

C# 如何将AutoMapper与页面列表一起使用?,c#,pagination,automapper,C#,Pagination,Automapper,我让automapper工作,但后来添加到页面列表中,现在它不工作了。怎么 我是否告诉它只将RfReport映射到RfReportModel,但保留PagedList参数 AutoMapper.AutoMappingException:“错误映射类型。” ArgumentException:PWDRS.Core.Helpers.PagedList`1[PWDRS.Application.Models.RfReportModel]需要具有具有0个参数或仅可选参数的构造函数 public Pag

我让automapper工作,但后来添加到页面列表中,现在它不工作了。怎么 我是否告诉它只将RfReport映射到RfReportModel,但保留PagedList参数

AutoMapper.AutoMappingException:“错误映射类型。” ArgumentException:PWDRS.Core.Helpers.PagedList`1[PWDRS.Application.Models.RfReportModel]需要具有具有0个参数或仅可选参数的构造函数

  public PagedList<RfReportModel> GetRfReportListPaged(RfReportParameters rfReportParameters)
    {
        PagedList<RfReport> rfReports = _rfReportRepository.GetRfReportListPaged(rfReportParameters);
        PagedList<RfReportModel> mapped = _mapper.Map<PagedList<RfReportModel>>(rfReports);
        return mapped;
    }


  public class PagedList<T> : List<T>
    {
        public int CurrentPage { get; private set; }
        public int TotalPages { get; private set; }
        public int PageSize { get; private set; }
        public int TotalCount { get; private set; }

        public bool HasPrevious => CurrentPage > 1;
        public bool HasNext => CurrentPage < TotalPages;

        public PagedList(List<T> items, int count, int pageNumber, int pageSize)
        {
            TotalCount = count;
            PageSize = pageSize;
            CurrentPage = pageNumber;
            TotalPages = (int)Math.Ceiling(count / (double)pageSize);

            AddRange(items);
        }

        public static PagedList<T> ToPagedList(IEnumerable<T> source, int pageNumber, int pageSize)
        {
            var count = source.Count();
            var items = source.Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList();

            return new PagedList<T>(items, count, pageNumber, pageSize);
        }
    }
public PagedList GetRfReportListPaged(RfReportParameters RfReportParameters)
{
PagedList rfReports=\u rfReportRepository.GetRfReportListPaged(rfReportParameters);
PagedList mapped=\u mapper.Map(rfReports);
返回映射;
}
公共类页面列表:列表
{
public int CurrentPage{get;private set;}
公共整型TotalPages{get;private set;}
public int PageSize{get;private set;}
公共整数TotalCount{get;private set;}
公共bool HasPrevious=>CurrentPage>1;
公共bool HasNext=>CurrentPage
编辑1:我不知道如何在automapper中实现它,但我意识到我可以像这样轻松地重新创建页面列表,从而有效地完成同样的事情

 public PagedList<RfReportModel> GetRfReportListPaged(RfReportParameters rfReportParameters)
    {
        PagedList<RfReport> rfReports = _rfReportRepository.GetRfReportListPaged(rfReportParameters);
        IEnumerable<RfReportModel> mapped = _mapper.Map<IEnumerable<RfReportModel>>(rfReports);

        PagedList<RfReportModel> plMapped = PagedList<RfReportModel>.ToPagedList(
         mapped,
         rfReportParameters.PageNumber,
         rfReportParameters.PageSize);

        return plMapped;
    }
public PagedList GetRfReportListPaged(RfReportParameters RfReportParameters)
{
PagedList rfReports=\u rfReportRepository.GetRfReportListPaged(rfReportParameters);
IEnumerable mapped=\u mapper.Map(rfReports);
PagedList plMapped=PagedList.ToPagedList(
映射,
rfReportParameters.PageNumber,
rfReportParameters.PageSize);
返回plMapped;
}

这是否回答了您的问题?