2010-07-26 17 views
5

मैं एफई 4.0.I बाहर कोशिश कर रहा हूँ में एक रेंज को निर्दिष्ट करके एक ObjectSet से वस्तुओं जाओ एक कर्मचारी वस्तु और का उपयोग कर एफई मैं बस ऊपरएफई

Context.Employees

बुला अब से कर्मचारी ObjectSet हो रही है कॉल एसक्यूएल क्वेरी निम्नलिखित थूक होगा select * from Employees

ऊपर क्वेरी ठीक काम करता है और मैं किसी भी उस पर शिकायत तथापि के रूप में आप जानते हैं कि यह पर्याप्त performant यदि आप तालिका में अभिलेखों की कुछ लाखों लोगों की है नहीं होगा की जरूरत नहीं है और कहीं भी होगी निश्चित रूप से प्रदर्शन को प्रभावित करें।

तो फिर मैं अपने ऑब्जेक्टसेट में एक रेंज देने का एक तरीका समझने की कोशिश कर रहा हूं जहां मैं कुछ कह सकता हूं जैसे मुझे ऑब्जेक्ट ऑब्जेक्टसेट से 30 से 60 का रिकॉर्ड प्राप्त होता है।

क्या ऐसा कुछ करने का कोई तरीका है।

किसी भी सुझाव की सराहना की जाएगी।

अद्यतन: मैं पेज इंडेक्स पर आधारित 20 कर्मचारी (पृष्ठ आकार) वापस पाने के लिए ऐसा करने की कोशिश कर रहा हूं।

अग्रिम धन्यवाद। नीके ...

उत्तर

4

ठीक है, आखिरकार, मुझे ऐसा करने का एक तरीका पता चला जो मुझे लगता है कि यह सभ्य है। और यहां मैंने जो किया है।

मैंने पृष्ठ सूचकांक के आधार पर वस्तुओं को छोड़ने और लेने के लिए IQueryable में छोड़ें और टेक विधियों का उपयोग किया।

var empList = context.Employees.OrderBy("it.CreatedDate").Skip(pageIndex * 20 - 20).Take(20); 

यह एक तरीका है:

तो मैं निम्नलिखित कोड का इस्तेमाल किया।

अगर किसी को लगता है कि यह एक अच्छा समाधान नहीं है तो आप किसी और चीज के साथ आने के लिए स्वागत से अधिक हैं जिन्हें मैं प्रतिस्थापित कर सकता हूं।

var empList = context.Employees.OrderBy(x=>x.CreatedDate).Skip(pageIndex * 20 - 20).Take(20); 

जो लोग मेरे सवाल पढ़ने के लिए समय ले लिया के लिए धन्यवाद:

अपडेट किया गया कोड इस प्रकार प्रति यूरी Tarabanko के सुझाव के रूप में मैं अपने कोड बदल दिया है।

Thnq, Nik ...

+0

वैसे, आप 'OrderBy (ई => e.CreatedDate)' 'जादू तार' से बचने के लिए उपयोग कर सकते हैं। –

+0

धन्यवाद बहुत यूरी। – NiK

+0

हुहू काम करता है। उत्तर के लिए धन्यवाद। – user153410

संबंधित मुद्दे