व्यूमोडल्स के साथ संयोजन में एएसपी एमवीसी के आधार पर एक वेब एप्लिकेशन में पेजेडलिस्ट का उपयोग कैसे करें।व्यूमोडल्स की एक पेजेडलिस्ट में इकाइयों की एक बड़ी सूची मैपिंग
मैं व्यूमोडल्स का एक पेजेडलिस्ट बनाना चाहता हूं, इसलिए सबसे पहले मुझे एंटिटीज को व्यूमोडेल में मैप करना होगा।
जब मैं एक बड़ी सूची लाता हूं, तो यह बहुत धीमा होता है क्योंकि पहले मैपिंग को पजेडलिस्ट बनने से पहले निष्पादित किया जाता है (इसलिए संस्थाओं की पूरी सूची प्राप्त की जाती है)।
इस समस्या को हल करने का सबसे अच्छा तरीका क्या है?
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);
(मैं भी एक मानचित्रण ढांचे का उपयोग है, लेकिन यह निश्चित रूप से एक कस्टम नक्शाकार वर्ग के साथ एक ही समस्या है)
आप क्या इसके बजाय IQueryable का उपयोग करने का प्रयास करें? क्या यह आपके डेटा सेवा द्वारा समर्थित है? Iqueryable का उपयोग करने से IPagedList डेटाबेस में क्वेरी को डिफर करने की अनुमति देगा जिससे इस प्रकार मैप किए गए ऑब्जेक्ट की संख्या को सीमित कर दिया जा सके। –