का उपयोग कर डेटाबेस टेबल मैप करते समय एंटीटी फ्रेमवर्क स्वचालित रूप से DbContext के ऑब्जेक्ट कॉन्टेक्स्ट का उपयोग क्यों करता है मैं पहले डेटाबेस दृष्टिकोण का अनुसरण कर रहा हूं; मैंने अपने SQL सर्वर 2008 डेटाबेस में टेबल बनाए हैं, फिर मैं उन तालिकाओं को एडीओ.NET इकाई डेटा मॉडल का उपयोग करके इकाई फ्रेमवर्क कक्षाओं में मैप करता हूं। लेकिन जब मैं designer.cs फाइल खोली मैं कक्षा परिभाषा में निम्न कोड स्वचालित रूप से बनाया गया था जिसमें पाया गया:एडीओ.NET इकाई डेटामैडेल
क्यों:
तोpublic partial class PortalEntities : ObjectContext
मैं तीन सवाल है कि मेरे भ्रमित हो निम्नलिखित है क्या मेरी
PortalEntities
कक्षाObjectContext
से प्राप्त हुई है औरDbContext
नहीं है जैसा कि मैं उम्मीद कर रहा था?वहाँ
ObjectContext
&DbContext
के बीच एक बड़ा अंतर है, या वे मुख्य रूप से ही कर रहे हैं और प्रदान करते हैं कि एक ही क्षमताओंजब मैं निम्नलिखित कोड को कुछ इसी तरह लिखने की कोशिश:
Student student = db.Students.Find(id);
मुझे पता चला कि मैं .Find()
विधि का उपयोग नहीं कर सकता क्योंकि मैं DbContext
का उपयोग करता था, तो इसका मतलब यह है कि ObjectContext
& DbContext
के पास विभिन्न विधियां हैं जिनका मैं उपयोग कर सकता हूं?
बीआर
आपके उत्तर के लिए धन्यवाद; लेकिन क्या मुझे पहले अपने डेटाबेस एप्रेच में ऑब्जेक्ट कॉन्टेक्स्ट के बजाय डीबी कॉन्टेक्स्ट का उपयोग करने से फायदा होगा? –
डीबीकॉन्टेक्स्ट में एक सरल इंटरफ़ेस है। इसका उपयोग करना आसान होगा और यदि आवश्यक हो तो आप इसे हमेशा ऑब्जेक्ट कॉन्टेक्स्ट पर डाल सकते हैं। यूनिट परीक्षण उद्देश्यों के लिए भी डीबीकॉन्टेक्स्ट मॉक करना आसान है। –
स्पष्ट स्पष्टीकरण! धन्यवाद – GibboK