ViewModel と組み合わせて ASP MVC に基づく Web アプリケーションで PagedList を使用する方法。
ビューモデルの PagedList を作成したいので、最初にエンティティをビューモデルにマップする必要があります。
大きなリストを取得すると、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);
(私もマッピングフレームワークを使用していますが、もちろんカスタムマッパークラスでも同じ問題です)