मैं एंटिटी फ्रेमवर्क का उपयोग कर रहा हूं और हाल ही में उसी समाधान के भीतर किसी अन्य प्रोजेक्ट में अपना ईएफ मॉडल रखने के लाभों को समझने आया हूं ताकि मैं इससे कई यूआई बना सकूं।वेब प्रोजेक्ट से क्लास लाइब्रेरी में मूविंग एंटिटी फ्रेमवर्क मॉडल
मैंने इसे एक नई कक्षा पुस्तकालय परियोजना में स्थानांतरित कर दिया और परियोजना द्वारा उत्पन्न नए डीएलएल का उपयोग करने के लिए वेब प्रोजेक्ट में इकाइयों के सभी संदर्भों को अपडेट किया। एक छोटी सी झटके को छोड़कर, सब कुछ सुचारू रूप से चला गया है। जब मैंने नई परियोजना में ईएफ को स्थानांतरित किया, तो किसी भी तरह से यह वेब प्रोजेक्ट में web.config से इसकी कनेक्शन स्ट्रिंग पढ़ रहा था (मुझसे मत पूछें कि मेरे पास कोई सुराग नहीं है)।
मैंने ईएफ डिजाइनर में "डेटाबेस से अद्यतन मॉडल" का उपयोग किया और इसे कनेक्शन स्ट्रिंग नहीं मिली (जैसा कि मुझे इसे नई परियोजना में ले जाने के बाद अपेक्षित था) इसलिए मैंने एक नई कनेक्शन स्ट्रिंग उत्पन्न करने के लिए विज़ार्ड का उपयोग किया, यह ठीक है। नया कनेक्शन स्ट्रिंग अब क्लास लाइब्रेरी प्रोजेक्ट के भीतर App.config में रहता है। गुण विंडो में कनेक्शन स्ट्रिंग अभी सही है, और डिज़ाइनर इसे App.Config से पढ़ रहा है। मैं आगे बढ़ गया और वेब से कनेक्शन स्ट्रिंग हटा दी। वेब प्रोजेक्ट में कॉनफिग।
अब जब आवेदन मैं निम्नलिखित त्रुटि मिलती चल: यदि मैं कनेक्शन स्ट्रिंग Web.Config में वापस पेस्ट
The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
यह सब ठीक काम करता है। मैं स्क्रैच से एक नया ईएफ मॉडल नहीं बनाना चाहता क्योंकि यह एक काफी जटिल मॉडल है और मैंने डीबी से खींचने के बाद बहुत सारे पुनर्गठन किए हैं। मैंने जेनरेट की गई CS फ़ाइल के साथ-साथ XML को edmx फ़ाइल में डाला है और कुछ भी उपयोगी नहीं मिल रहा है। किसी भी प्रकार की मदद की बेहद सराहना की जाती है। जाहिर है, अब तक, जब तक मैं इसे समझ नहीं पाता, तब तक मैं वेब.कॉन्फिग में कनेक्शन स्ट्रिंग को छोड़ रहा हूं, क्योंकि किसी भी कारण से, ऐसा लगता है।
प्रतीक्षा करें, तो इसका मतलब है कि कक्षा पुस्तकालय में app.config फ़ाइल व्यर्थ है? संकलित लाइब्रेरी के अपने संसाधनों तक पहुंच नहीं होनी चाहिए? यह अन्य परियोजना में web.config के बारे में भी कैसे पता है? – Chev
@ चेवेक्स: रनटाइम पर, हाँ, यह व्यर्थ है। कॉन्फ़िगरेशन फ़ाइल संसाधन नहीं है, यह केवल एक कॉन्फ़िगरेशन फ़ाइल है जो प्रोजेक्ट का हिस्सा है। परियोजना का निर्माण करना कुछ भी नहीं करता है। यह Web.config के बारे में पता है क्योंकि यह .NET के कॉन्फ़िगरेशन मैनेजर का उपयोग करता है, और जो एप्लिकेशन लॉन्च करता है (आपके मामले में एक वेब ऐप) इसे वहां निर्देशित करता है। –