मैं डेटाकॉन्टेक्स को व्यवस्थित करने के तरीके के बारे में सर्वोत्तम रणनीति को समझने की कोशिश कर रहा हूं। हमारे द्वारा काम किए जाने वाले सामान्य डीबी में आमतौर पर तीसरे-सामान्य रूप में 50 से 100 टेबल और उनके बीच कई संबंध होते हैं। मुझे लगता है कि हम दो विकल्प हैं:LINQ से SQL एकाधिक डेटाकॉन्टेक्स्ट-एस
- रखें एक भी संदर्भ में सभी तालिकाओं। इससे यह सुनिश्चित होगा कि हम जो कुछ भी करते हैं वह डेटाबेस में सही क्रम में किया जाएगा। समस्या यह है कि LINQ डिजाइनर 50+ टेबल के साथ एक गड़बड़ होगा और मुझे चिंता है कि प्रदर्शन प्रभावित हो सकता है।
- तालिकाओं के तार्किक समूह के आधार पर कई डेटा संदर्भ बनाएं। समस्या यह है कि ऐसे स्थान होंगे जहां एक संबंध में एक पक्ष एक संदर्भ में होगा और दूसरा एक दूसरे में होगा। हमें सही क्रम में संदर्भ दोनों को मैन्युअल रूप से करने का ख्याल रखना होगा।
क्या इसे संभालने के लिए कोई अनुशंसित अभ्यास है?
अधिक विवरण:
मैं एसक्यूएल करने के लिए LINQ के शीर्ष पर अपने ही संस्थाओं और काम की इकाई बनाना चाहते हैं। इकाइयों को एक एक्सएमएल मॉडल फ़ाइल में परिभाषित किया जाएगा जहां LINQ इकाइयों को मैपिंग भी निर्दिष्ट किया जाएगा। एक कस्टम उपकरण मॉडल के आधार पर मेरी संस्थाओं (पीओसीओ) उत्पन्न करेगा। क्लाइंट कोड केवल मेरी संस्थाओं और काम की मेरी इकाई के साथ बातचीत करेगा; डेटाकॉन्टेक्स्ट या LINQ इकाइयों के साथ सीधे कभी नहीं। हालांकि मैं LINQ से SQL को बॉक्स से बाहर प्रदान करने के लिए डुप्लिकेट नहीं करना चाहता हूं, इसलिए मैं अंतर्निहित LINQ DataContext का उपयोग करना चाहता हूं। इसका मतलब है कि मेरे पास अलग-अलग डेटा संदर्भों में दो ऑर्डर नहीं हो सकते हैं, क्योंकि मेरे दोनों पॉको ऑर्डर को मैप करना संभव नहीं होगा।
मैं इसके बावजूद, लेकिन Context2 से ऑर्डर का उपयोग Context3 में नहीं किया जा सकता .... आप दो अलग-अलग ऑर्डर इकाइयों के साथ समाप्त हो जाएंगे – Albert
यदि कार्य इकाइयों में अलग हो गया है, तो आप किसी ऑब्जेक्ट का उपयोग करने की कोशिश कभी नहीं करेंगे संदर्भ 3 में संदर्भ 3 से। –
मैं वास्तव में LINQ इकाइयों के शीर्ष पर पीओसीओ और कार्य इकाई को कार्यान्वित करना चाहता हूं ताकि क्लाइंट कोड यूनिटऑफवर्क के साथ काम करेगा जिसमें केवल एक ही प्रकार का ऑर्डर होगा। आपके प्रस्तावित समाधान में मुझे नहीं पता कि ऑर्डर – Albert