जैसा कि @Ladislav ने कहा, EF 5 OFFSET और FETCH का समर्थन नहीं करता है। इसके साथ ही, मैं थोड़ा परिप्रेक्ष्य जोड़ना चाहता था। मुझे नहीं लगता कि यह ज्यादा मायने रखता है।
जब आप एंटिटी फ्रेमवर्क जैसे ओआरएम में खरीदते हैं, तो आप अपनी क्वेरी पीढ़ी को सोर्सिंग कर रहे हैं (पूरी तरह से वैध कारणों से)। क्या EF 'पुराने' CTE
का उपयोग करता है Row_Number()
के साथ स्टाइल क्वेरी या नया Fetch
/ Offset
एक कार्यान्वयन विवरण है। Microsoft किसी भी बिंदु पर EF कोड को अपडेट कर सकता है और एक या दूसरे का उपयोग करने के लिए क्वेरी पीढ़ी को बदल सकता है।
यदि आप क्वेरी जनरेशन पर नियंत्रण चाहते हैं, तो आप या तो:
- EF की 'संग्रहीत प्रक्रिया मानचित्रण' क्षमता का उपयोग करें
- ईएफ के साथ सीधे संग्रहीत कार्यविधियों का उपयोग करें (कुछ ऐसा जो मैं अक्सर करता हूं)
- एडीओ/एसक्यूएल स्वयं लिखें, या
- बड़े पैमाने पर/पेटापोको जैसे अधिक सीमित माइक्रो-ऑर्म का उपयोग करें
तो क्या यह मायने रखता है?
खैर, प्रश्न लिखने वाले एक डेवलपर के लिए नया सिंटैक्स एक स्वागत योग्य राहत होने वाला है। दूसरी ओर, यह प्रकट नहीं होता कि वास्तविक के बीच प्रदर्शन अंतर है पुरानी सीटीई पद्धति और नया सिंटैक्स। तो ईएफ के नजरिए से - वास्तव में नहीं। हमें एक महत्वपूर्ण ओवरहेड प्राप्त होता है। EF का उपयोग करते हुए, पेजिंग की विधि शायद आपका ब्रेक पॉइंट नहीं होगी।