मुझे एंटिटी फ्रेमवर्क के शीर्ष पर डीडीएस पर आधारित एक मौजूदा साइट अपडेट करना है, और यह तीन अलग-अलग डेटाबेस से तीन अलग-अलग डेटाबेस मॉडल का उपयोग करता है। और इसकी आवश्यकता क्या है सूची सूची पृष्ठ में एक साधारण जोड़: एक्सएमएल बटन पर निर्यात ...
बटन जोड़ना आसान है। एक्सएमएल बनाना मुश्किल नहीं है। चुनौती को निर्यात करने के लिए उचित तालिका मिल रही है, सभी रिकॉर्ड और फ़ील्ड के माध्यम से चलना और सिस्टम में 100+ टेबलों के आधार पर एक्सएमएल उत्पन्न करना!
तो, मेरा बटन एक निर्यात (एएसएक्स) हैंडलर कहता है जो एक्सएमएल को उस तालिका के आधार पर उत्पन्न करता है जिसका नाम उसके मानकों के माध्यम से प्राप्त होता है। कोड मैं कुछ इस तरह है:डायनामिक डेटा साइट से एक्सएमएल में निर्यात करें
Content_CobaEntities Coba = new Content_CobaEntities();
MetadataWorkspace metadataWorkspace = Coba.MetadataWorkspace;
EntityContainer container = metadataWorkspace.GetItems<EntityContainer>(DataSpace.CSpace).First();
string namespaceName = metadataWorkspace.GetItems<EntityType>(DataSpace.CSpace).First().NamespaceName;
EntitySetBase entitySetBase = container.BaseEntitySets.FirstOrDefault(set => set.ElementType.Name == Entity);
दुर्भाग्य से, यह केवल एक ही संदर्भ के साथ काम करता है और मैं तीन के लिए होता है। (लेकिन यह एक मुख्य संदर्भ है।) (इसके अलावा, उचित संदर्भ निर्धारित करने के लिए एक दूसरा पैरामीटर इस्तेमाल किया जा सकता है।) और हालांकि यह मुझे आवश्यक इकाई प्रकार निर्धारित करने की अनुमति देता है, फिर भी यह मुझे इसके रिकॉर्ड तक पहुंच प्रदान नहीं करेगा और खेतों।
तो, मैं इस इकाई के लिए डेटा कैसे प्राप्त करूं? (फ़िल्टर महत्वपूर्ण नहीं हैं; निर्यात सभी डेटा वापस कर देगा।)
और नहीं, कोई ईएफ 4 नहीं। ContextID और QueryID: नहीं नेट 4. यह एक पुराना VS2008 परियोजना है और ज्यादा करने के लिए संशोधित नहीं किया जा सकता, न ही यह उन्नत किया जा सकता ...
असल में, क्वेरी स्ट्रिंग दो पैरामीटर हैं। ContextID मुझे बताता है कि कौन सा संदर्भ उपयोग करना है और चूंकि मेरे पास केवल तीन अलग-अलग संदर्भ हैं, इसलिए एक साधारण स्विच-कमांड मेरे लिए हल करता है। लेकिन संदर्भों में से एक में 60+ प्रश्न हैं, उनमें से प्रत्येक एक डेटाबेस तालिका से संबंधित है। डायनामिक डेटा साइट मुझे इस तालिका से रिकॉर्ड्स जोड़ने, संपादित करने और हटाने के विकल्प प्रदान करती है लेकिन इसे मेरे कस्टम कोड द्वारा निर्धारित प्रारूप में निर्यात करने की आवश्यकता है। लेकिन 60 टेबल के साथ, प्रत्येक क्वेरी के लिए स्विच स्टेटमेंट लिखना बहुत अधिक है इसलिए मुझे कुछ और सामान्य की आवश्यकता है।
क्या आप कह रहे हैं कि आप मुख्य संदर्भ के अलावा किसी अन्य ईएफ संदर्भ से कनेक्ट नहीं हो सकते हैं? – WVDominick
दरअसल, निर्यात हैंडलर अन्य स्थानों से भी उपलब्ध होना चाहिए और उपयोगकर्ताओं को इसे बुकमार्क करने में सक्षम होना चाहिए। मैं उचित संदर्भ प्राप्त कर सकता हूं लेकिन अब मुझे कस्टम एक्सएमएल उत्पन्न करने के लिए सभी क्षेत्रों और मूल्यों के साथ उचित क्वेरी के माध्यम से लूप की आवश्यकता है। –