PagedList, ViewModels ile birlikte ASP MVC tabanlı bir web uygulamasında nasıl kullanılır.ViewModels'in PagedList öğesinin büyük bir Listesinin Eşleştirilmesi
PagedList of Viewmodels yapmak istiyorum, bu yüzden önce Varlıkları Viewmodels ile eşlemeliyim.
Büyük bir liste aldığımda, çok yavaştır, çünkü ilk önce PagedList oluşturulmadan önce eşleme gerçekleştirilir (tüm Varlık Listesi getirilir).
Bu sorunu çözmenin en iyi yolu nedir?
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);
(Ben de bir haritalama çerçevesinde kullanmak, ancak tabii ki özel bir mapper sınıfı ile aynı problem) sayfayı sunucu üzerindeki veri yoktu neden
Öyle mi ben IEnumerable
Değişikliği bunun yerine IQueryable arabirimini kullanarak (onlar hala bu kadar hızlı değildir, ancak daha hızlı) Sonuçlarımı hızlandırdı yerine IQueryable kullanmayı deneyin? VeriService tarafından destekleniyor mu? Iagedyable kullanımı IPagedList'in sorguyu veritabanına almasını sağlayarak, yalnızca gerekenler için eşlenen nesne sayısını sınırlandırır. –