एएसपीनेट 3.5 एप्लिकेशन में लिंक्टोस्क्ल का पूरी तरह से उपयोग करने के लिए, DataContextclasses (जिसे आम तौर पर वीएस 2008 में डिजाइनर का उपयोग करके किया जाता है) बनाना आवश्यक है। यूआई परिप्रेक्ष्य से, डेटाकॉन्टेक्स्ट आपके डेटाबेस के उन अनुभागों का एक डिज़ाइन है जिसे आप LinqToSQL के माध्यम से बेनकाब करना चाहते हैं और LinqToSql की ORM सुविधाओं को स्थापित करने में अभिन्न अंग हैं।क्या एकाधिक डेटा कॉन्टेक्स्ट कक्षाएं कभी उपयुक्त हैं?
मेरा प्रश्न है: मैं एक ऐसी परियोजना स्थापित कर रहा हूं जो एक बड़े डेटाबेस का उपयोग करे जहां सभी टेबल विदेशी कुंजी के माध्यम से किसी भी तरह से जुड़े हुए हों। मेरा पहला झुकाव एक विशाल डेटाकॉन्टेक्स्ट क्लास बनाना है जो पूरे डेटाबेस को मॉडल करता है। इस तरह से मैं सिद्धांत में (हालांकि मुझे नहीं पता कि यह अभ्यास में जरूरी है या नहीं) लिंककॉक्ल के माध्यम से जेनरेट किए गए विदेशी कुंजी कनेक्शन का उपयोग आसानी से मेरे कोड में संबंधित वस्तुओं, संबंधित ऑब्जेक्ट्स आदि के बीच जाने के लिए किया जाता है।
हालांकि, इसे कुछ विचार देने के बाद, अब मैं सोच रहा हूं कि यह एकाधिक डेटाकॉन्टेक्स्ट कक्षाएं बनाने के लिए और अधिक समझ सकता है, प्रत्येक एक विशिष्ट नामस्थान या मेरे डेटाबेस के भीतर तार्किक अंतरसंबंधित अनुभाग से संबंधित है। मेरी मुख्य चिंता यह है कि डाटाबेस के विशिष्ट क्षेत्रों से संबंधित व्यक्तिगत संचालन के लिए हर समय एक विशाल डेटाकॉन्टेक्स्ट कक्षा को तत्काल और निपटान करना संसाधन संसाधनों पर एक अनावश्यक लगाव लगाया जाएगा। इसके अतिरिक्त, छोटे डेटाकॉन्टेक्स्ट फ़ाइलों को एक बड़े से अधिक बनाना और प्रबंधित करना आसान है। जो चीज मैं खो दूंगा वह यह है कि डेटाबेस के कुछ दूरस्थ वर्ग होंगे जो LinqToSql के माध्यम से नेविगेट नहीं होंगे (भले ही संबंधों की एक श्रृंखला उन्हें वास्तविक डेटाबेस में जोड़ती है)। इसके अतिरिक्त, कुछ टेबल क्लास होंगे जो एक से अधिक डेटाकॉन्टेक्स्ट में मौजूद होंगी।
एकाधिक डेटाकॉन्टेक्स (डीबी नेमस्पेस से संबंधित) पर एक विचार या अनुभव किसी भी बड़े डेटाकॉन्टेक्स्ट क्लास (पूरे डीबी के अनुरूप) के स्थान पर (या इसके अतिरिक्त) के स्थान पर उचित है या नहीं?
हां, ओपी यह मानने में सही नहीं है कि एक बड़े डीसी को तत्काल करने में अधिक समय लगता है। वास्तव में, पहले उदाहरण के बाद चलने वाली प्रक्रिया में बनाया जाता है, उसी डीसी के बाद के उदाहरण लगभग तत्काल बनाए जा सकते हैं। –