मुझे एंटिटी फ्रेमवर्क कनेक्शन स्ट्रिंग कैसे संपादित करनी चाहिए?


115

हाल ही में मुझे एक Entity Framework डेटा मॉडल ( .edmxफ़ाइल) के लिए कनेक्शन स्ट्रिंग को बदलने के लिए अपनी app.config फ़ाइल को संपादित करना पड़ा । लेकिन मैं जानना चाहता हूं: क्या डिजाइनर का उपयोग करके ईएफ कनेक्शन स्ट्रिंग को संपादित करने का एक तरीका है?

मूल कनेक्शन स्ट्रिंग इकाई डेटा मॉडल विज़ार्ड द्वारा स्वतः-जनरेट किया गया है। कनेक्शन स्ट्रिंग को तब बदला नहीं जा सकता है - यह .edmx डिजाइनर की गुण विंडो में अक्षम रहता है। मैं हाथ से एक्सएमएल को संपादित करने से बचना पसंद करता हूं यदि मैं (ऐप.कॉन्फ़िग में) कर सकता हूं, तो मैं सोच रहा था कि क्या कनेक्शन स्ट्रिंग में बदलाव करने के लिए मूल विज़ार्ड स्क्रीन में वापस आने का एक तरीका है और टूल को ऐप को संपादित करने दें ।config फ़ाइल मेरे लिए।

जवाबों:


190

यदि आप app.configफ़ाइल से कनेक्शन स्ट्रिंग हटाते हैं , तो एक नया कनेक्शन बनाने के लिए इकाई डेटा मॉडल विज़ार्ड आपको फिर से चलाएगा।


17
अति उत्कृष्ट। यह ठीक वही उत्तर है जिसकी मुझे तलाश थी। बस सुरक्षित रहने के लिए मैंने मौजूदा स्ट्रिंग (इसे हटाने के बजाय) पर टिप्पणी की, ऐप को सहेजा ।config में परिवर्तन, डिजाइनर को राइट-क्लिक किया और डेटाबेस से अपडेट मॉडल चुना। विज़ार्ड तब मुझे कनेक्शन स्ट्रिंग में संवेदनशील जानकारी (uid & pwd) शामिल करने देता है। धन्यवाद!
DeveloperDan

5
अगर आप मॉडल-फर्स्ट कर रहे हैं तो डिजाइनर पर राइट-क्लिक करें और इसके बजाय 'मॉडल से जेनरेट डेटाबेस' पर क्लिक करें
कार्ल ओनेजर

2
यह मेरे लिए भी काम करता है, सिवाय इसके कि मुझे App.config फ़ाइल को अपडेट करना था, फिर VS.NET 2012 को पुनरारंभ करें। यह पता नहीं लगा रहा था कि App.config फ़ाइल बदल गई है।
गैरी अंग्रेजी

2
मुझे स्पष्ट रूप से डिज़ाइन स्ट्रिंग को हटा दिया गया था पहचानने के लिए डिजाइनर के लिए app.config फ़ाइल पर सहेजें कॉल करना था।
रोसको

1
वी.एस. को फिर से शुरू करने का एक विकल्प है। एप्लिकेशन में कनेक्शन स्ट्रिंग को 1. कमेंट-आउट करें। 2. 2. .mmx वाले प्रोजेक्ट को फिर से बनाएं।। .Mmx डिज़ाइन की सतह पर राइट-क्लिक करें और डेटाबेस से मॉडल अपडेट करें ... जिसे लेना चाहिए। कनेक्शन स्ट्रिंग विज़ार्ड।
RIanGillis

18

नहीं, आप डिज़ाइनर में कनेक्शन स्ट्रिंग को संपादित नहीं कर सकते। कनेक्शन स्ट्रिंग EDMX फ़ाइल का हिस्सा नहीं है, यह कॉन्फ़िगरेशन फ़ाइल से सिर्फ संदर्भित मान है और शायद इस वजह से यह केवल गुण विंडो में आसानी से पढ़ा जाता है।

कॉन्फ़िगरेशन फ़ाइल को संशोधित करना सामान्य कार्य है क्योंकि आप कभी-कभी एप्लिकेशन के पुनर्निर्माण के बिना परिवर्तन करना चाहते हैं। यही कारण है कि कॉन्फ़िगरेशन फ़ाइलें मौजूद हैं।


+1 याद दिलाने के लिए: यदि वे इसे एक कॉन्फ़िगरेशन फ़ाइल में रखते हैं, तो इसका मतलब है कि वे चाहते हैं कि आप इसे बदलने में सक्षम हों। मैं मुख्य रूप से इस तथ्य के बारे में चिंतित था कि मेरे बदलावों को
खत्म

आपको जाना चाहिए और प्रोजेक्ट edmx के एप्लिकेशन कॉन्फ़िगरेशन में कनेक्शन स्ट्रिंग को बदलना चाहिए। टॉप लेवल एप्लिकेशन का कॉन्फिगरेशन नहीं (जो चलने पर इस्तेमाल होता है)। o_0
अकावा

9

आप सामान्यतया Web.config में अपने कनेक्शन स्ट्रिंग्स को परिभाषित करते हैं। Edmx जेनरेट करने के बाद कनेक्शन स्ट्रिंग App.Config में स्टोर हो जाएगी। यदि आप कनेक्शन स्ट्रिंग को बदलना चाहते हैं तो app.config पर जाएं और सभी कनेक्शन स्ट्रिंग्स को हटा दें। अब edmx पर जाएं, डिजाइनर सतह पर राइट क्लिक करें, डेटाबेस से अपडेट मॉडल का चयन करें, ड्रॉपडाउन से कनेक्शन स्ट्रिंग चुनें, अगला क्लिक करें , जोड़ें या ताज़ा करें (जो आप चाहते हैं चुनें) और समाप्त करें।

आउटपुट विंडो में यह कुछ इस तरह दिखाई देगा,

उत्पन्न मॉडल फ़ाइल: UpostDataModel.edmx डेटाबेस से लोड मेटाडेटा 00: 00: 00.4258157 लिया गया। मॉडल बनाने में 00: 00: 01.5623765 लिया गया। App.Config फ़ाइल में कनेक्शन स्ट्रिंग जोड़ा गया।


मुझे एक समान समस्या हो रही है लेकिन जब मैं कनेक्शन स्ट्रिंग को टिप्पणी करता हूं, तो मॉडल को अपडेट करें, एक नया कनेक्शन स्ट्रिंग चुनें, मेरा संदर्भ। मॉडल के भीतर वर्ग खाली हो जाता है। यह सुनिश्चित नहीं है कि यह ऐसा क्यों कर रहा है जब तक कि यह सिर्फ संदर्भ वर्ग उत्पन्न करने में विफल नहीं है?
बिटशिफ्ट

1
ऐसा नहीं करना चाहिए। हो सकता है आपका T4 टेम्प्लेटिंग टूल दूषित हो।
DanKodi

मैं सहमत हूँ, यह "नहीं होना चाहिए"। हालांकि, Ive ने कई बार की संख्या की गणना खो दी है जब अंतर्निहित स्कीमा में कुछ गैर-तुच्छ परिवर्तनों से अधिक है, कि मुझे अंततः मॉडल को उड़ाने और एक नया बनाने के लिए आखिरकार था। शायद EF7 और इसके edmx फ़ाइल को हटाने से चीजों को मदद मिल सकती है। किसी भी तरह से, मैं क्या मैं इस समय के रूप में अच्छी तरह से किया था, बस मॉडल में सब कुछ पर प्रकाश डाला, हटा मारा और वापस उन मदों में लाया
बिट्सविफ्ट

2

किसी भी टेक्स्ट एडिटर को खोलें .edmx फ़ाइल स्कीमा = " आपके आवश्यक स्कीमा " को बदल देती है और app.config / web.config भी खोल देती है , कनेक्शन स्ट्रिंग से उपयोगकर्ता आईडी और पासवर्ड को बदल दें । आप कर चुके हैं।


हां, यह किया।
ggderas

1

अगले चरणों का पालन करें:

  1. App.config खोलें और कनेक्शन स्ट्रिंग पर टिप्पणी करें (फ़ाइल सहेजें)
  2. Edmx खोलें (गुणों पर जाएं, कनेक्शन स्ट्रिंग रिक्त होनी चाहिए), edmx फ़ाइल को फिर से बंद करें
  3. App.config खोलें और कनेक्शन स्ट्रिंग को अनकम्प्लीट करें (फ़ाइल सहेजें)
  4. Edmx खोलें, गुणों पर जाएं, आपको कनेक्शन स्ट्रिंग को ऊपर से देखना चाहिए !!
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.