Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एंटिटी फ्रेमवर्क और एसक्यूएल सर्वर 2012 पेजिंग

जैसा कि @Ladislav ने कहा, EF 5 OFFSET और FETCH का समर्थन नहीं करता है। इसके साथ ही, मैं थोड़ा परिप्रेक्ष्य जोड़ना चाहता था। मुझे नहीं लगता कि यह ज्यादा मायने रखता है।

जब आप एंटिटी फ्रेमवर्क जैसे ओआरएम में खरीदते हैं, तो आप अपनी क्वेरी पीढ़ी को सोर्सिंग कर रहे हैं (पूरी तरह से वैध कारणों से)। क्या EF 'पुराने' CTE का उपयोग करता है Row_Number() के साथ स्टाइल क्वेरी या नया Fetch / Offset एक कार्यान्वयन विवरण है। Microsoft किसी भी बिंदु पर EF कोड को अपडेट कर सकता है और एक या दूसरे का उपयोग करने के लिए क्वेरी पीढ़ी को बदल सकता है।

यदि आप क्वेरी जनरेशन पर नियंत्रण चाहते हैं, तो आप या तो:

  • EF की 'संग्रहीत प्रक्रिया मानचित्रण' क्षमता का उपयोग करें
  • ईएफ के साथ सीधे संग्रहीत कार्यविधियों का उपयोग करें (कुछ ऐसा जो मैं अक्सर करता हूं)
  • एडीओ/एसक्यूएल स्वयं लिखें, या
  • बड़े पैमाने पर/पेटापोको जैसे अधिक सीमित माइक्रो-ऑर्म का उपयोग करें

तो क्या यह मायने रखता है?

खैर, प्रश्न लिखने वाले एक डेवलपर के लिए नया सिंटैक्स एक स्वागत योग्य राहत होने वाला है। दूसरी ओर, यह प्रकट नहीं होता कि वास्तविक के बीच प्रदर्शन अंतर है पुरानी सीटीई पद्धति और नया सिंटैक्स। तो ईएफ के नजरिए से - वास्तव में नहीं। हमें एक महत्वपूर्ण ओवरहेड प्राप्त होता है। EF का उपयोग करते हुए, पेजिंग की विधि शायद आपका ब्रेक पॉइंट नहीं होगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में परिणाम सेट की स्कीमा प्राप्त करने के 3 तरीके

  2. ट्रिगर पुराने मान डालें- वे मान जो अपडेट किए गए थे

  3. ऑटो इंक्रीमेंट लॉजिक के साथ मौजूदा टेबल की फील्ड को अपडेट करें

  4. समूह-वार अधिकतम कॉलम वाली पंक्तियों का चयन करें

  5. एसक्यूएल सर्वर यूडीएफ में पैरामीटर के रूप में टेबल पास करें