如何在基于 ASP MVC 和 ViewModels 的 Web 应用程序中使用 PagedList。
我想制作一个 Viewmodels 的 PagedList,所以首先我必须将实体映射到 Viewmodels。
当我获取一个大列表时,它非常慢,因为首先在 PagedList 生成之前执行映射(因此获取整个实体列表)。
解决此问题的最佳方法是什么?
IEnumerable<InvoiceData> invoiceData = dataService.GetInvoiceData(locationId);
Mapper.CreateMap<InvoiceData, ViewModelInvoiceData>();
IEnumerable<ViewModelInvoiceData> vmInvoiceData = Mapper.Map<IEnumerable<InvoiceData>, IEnumerable<ViewModelInvoiceData>>(invoiceData);
IPagedList<InvoiceDataViewModel> pagedListVMInvoiceData = vmInvoiceData.ToPagedList(page, pageSize);
(我也使用了映射框架,但自定义映射器类当然是同样的问题)