कुछ दिन पहले मैंने जेनेरिक रिपोजिटरी और यूनिट ऑफ वर्क पैटर्न http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application के बारे में ट्यूटोरियल पढ़ा था। मैं वेब फॉर्म का उपयोग करता हूं और मेरे पास EntityFramework CTP4 पैकेज स्थापित है। (मैं ईएफ 5 का उपयोग नहीं कर सकता)।एंटिटीफ्रेमवर्क 4, डीबीसेट और ऑब्जेक्ट कॉन्टेक्स्ट
मैं अपने प्रोजेक्ट के लिए सामान्य भंडार कोड करने के लिए चाहते हैं, लेकिन मैं इस लाइन में फंस गया था:
this.dbSet = context.Set<TEntity>();
मुझे पता है कि इस लाइन काम नहीं करता है, क्योंकि अपने प्रोजेक्ट और डेटाबेस पहले दृष्टिकोण में उपयोग ObjectContext। मैं इसके साथ कैसे निपट सकता हूं? क्या मैं पहले कोड पर माइग्रेशन किए बिना जेनेरिक रिपोजिटरी को कोड कर सकता हूं (जो मेरे मामले में कोई विकल्प नहीं है)?
this.dbSet = context.CreateObjectSet<TEntity>();
अब इस एक DbSet<TEntity>
से एक ObjectSet<TEntity>
बल्कि बनाता है, लेकिन अपने पैटर्न के लिए आप एक ही तरह से इसका इस्तेमाल कर सकते हैं:
सहायता के लिए धन्यवाद। अब यह एक DSSet की बजाय ऑब्जेक्टसेट बनाता है, लेकिन आपके पैटर्न के लिए आप इसे उसी तरह उपयोग कर सकते हैं। मुझे इस पंक्ति में खोजने के तरीके में समस्या है: dbSet.Find (id); मैं ऑब्जेक्टसेट का उपयोग करके इसे कैसे कोड कर सकता हूं? –
mrrobot
तो यदि ऑब्जेक्टसेट में आईडी द्वारा खोजें तो इतना कठिन है कि आपने डीबीकॉन्टेक्स्ट का उपयोग क्यों नहीं किया? मुझे आश्चर्य है कि इस विधि में से किस विधि का उपयोग करना चाहिए, आपको ढूंढने की विधि बनाने की कोशिश करें या शायद मुझे डीबीकॉन्टेक्स्ट का उपयोग करना चाहिए? मैंने इस परियोजना में अब तक बहुत अधिक कोड नहीं लिखा है, तो शायद डीबीकॉन्टेक्स्ट का उपयोग करना बेहतर विचार है? क्या आप इसके बारे में अपनी राय दे सकते हैं? धन्यवाद – mrrobot
जब मैंने अपना आवेदन शुरू किया, तब तक ईएफ कोड फर्स्ट जारी नहीं किया गया था। रोपस्टा के उत्तर के आधार पर ऐसा लगता है कि मॉडल टेम्पलेट या डेटाबेस फर्स्ट एप्लिकेशन के लिए कोड फर्स्ट स्टाइल क्लासेस जेनरेट करने के लिए आप टेम्पलेट्स का उपयोग कर सकते हैं। मैंने कभी भी उस दृष्टिकोण की कोशिश नहीं की है, इसलिए मैं वास्तव में बात नहीं कर सकता कि यह कितना अच्छा काम करता है या नहीं। – CodingGorilla