2015-05-06 7 views
11

में नामित कोई कनेक्शन स्ट्रिंग नहीं मिल सकती है, मैं ईएफ का उपयोग कर रहा हूं और इससे उत्पन्न .EDMX लेकिन फिर मैं केवल क्लास फाइलों की स्वचालित पीढ़ी के लिए इसका उपयोग करना चाहता था।एप्लिकेशन कॉन्फ़िगरेशन फ़ाइल

मैंने फिर एक इकाई मॉडल बनाने के लिए कक्षा फ़ाइलों का उपयोग किया और फिर एक डीबी संदर्भ और फिर रिपोजिटरी बनाई। मैं डेटा प्राप्त करने के लिए भंडार तक पहुंचने के लिए एक वेबएपी (जो एक अलग परियोजना में है लेकिन एक ही समाधान में है) को बुला रहा हूं। जब मैं WebAPI चलाने के लिए, मैं त्रुटि मिल रही है,

{ "कोई कनेक्शन स्ट्रिंग 'DBEntities' नाम आवेदन कॉन्फ़िग फ़ाइल में पाया जा सकता है।"}

लेकिन मेरे दाल के भीतर, मैं एक webConfig है और वह

add name="DBEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;provider=System.Data.SqlClient;provider connection string="data source=MY-PC;initial catalog=DB;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" 
+0

मैं माफी चाहता हूँ, यह टैग था तो यह स्वरूपण की वजह से दिखाई नहीं दिया। मैंने टैग हटा दिए हैं और इसके – user1345260

+0

कृपया मेरी समस्या जांचें, अगर यह आपकी समस्या हल करती है तो कृपया उत्तर के रूप में स्वीकार करें :) – Raishul

उत्तर

13

आप कहते हैं कि "मेरी दाल के भीतर, मैं एक webConfig है" मैं काफी यकीन है कि क्या गलत हो गया है नहीं कर रहा हूँ तो निम्न प्रविष्टि है,। मुझे लगता है कि कनेक्शन स्ट्रिंग एक संदर्भित क्लास लाइब्रेरी की कॉन्फ़िगरेशन फ़ाइल में है, लेकिन आपके एंट्री प्रोजेक्ट में एक मुख्य कॉन्फ़िगरेशन फ़ाइल में नहीं है (एक वेब एपीआई प्रोजेक्ट, मुझे लगता है कि टैग को देख रहा है)।

यदि ऐसा है, तो बस प्रविष्टि प्रोजेक्ट कॉन्फ़िगरेशन फ़ाइल में कनेक्शन स्ट्रिंग की प्रतिलिपि बनाएँ।

+0

मैंने वेबपै में कनेक्शन स्ट्रिंग जोड़ दी है और अब मुझे निम्न मिलता है, {"स्कीमा निर्दिष्ट मान्य नहीं है। त्रुटियां: \ r \ n ईएलएम प्रकार के लिए सीएलआर प्रकार का मैपिंग संदिग्ध है क्योंकि एकाधिक सीएलआर प्रकार ईडीएम प्रकार क्लाइंट से मेल खाते हैं} – user1345260

+0

क्या यह मदद करता है? http://stackoverflow.com/questions/14927391/the-mapping-of-clr-type- to-edm-type-is-ambiguous-with-ef-6-5 –

1

उसी प्रोजेक्ट की .config फ़ाइल के कॉन्फ़िगरेशन सेक्शन में निम्न अनुभाग डालें जहां आपकी .edmx फ़ाइल चल रही है।

आप मुख्य प्रोजेक्ट की .config फ़ाइल में विभिन्न वातावरण के लिए अलग-अलग कनेक्शन स्ट्रिंग भी बना सकते हैं और किसी भी कनेक्शन स्ट्रिंग को डीबीसीएन्टेक्स्ट के निर्माता के पैरामीटर के रूप में पास कर सकते हैं।

<connectionStrings> 
 
    
 
<add name="DBEntities" connectionString="metadata=res://*/Models.DBModel.csdl|res://*/Models.DBModel.ssdl|res://*/Models.DBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MY-PC;initial catalog=DB;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
 

 
</connectionStrings>

+0

यह पहले से ही वहां है – user1345260

+0

कृपया डीएएल प्रोजेक्ट में app.config पर वेब कॉन्फ़िगरेशन का नाम बदलें। – Raishul

+0

क्या वह अभी भी एक ही त्रुटि – user1345260

1

मैंने पाया कि यह काम किया: आप कई "App.config" फ़ाइलें अगर

1) की जाँच करें। 2) जांचें कि कनेक्शन स्ट्रिंग के मुकाबले गलत नाम है या नहीं। 3) परियोजना को सहेजें और प्रोग्राम चलाएं

अब इसे काम करना चाहिए।

0

सबसे आसान समाधान:

app.config में वर्तमान edmx फ़ाइल और संबंधित कनेक्शन स्ट्रिंग निकालें और फिर से पिछले रूप में एक ही नाम के साथ edmx आइटम जोड़ें।

यह मेरे लिए काम करता है।

0

अपने वेबपैपि प्रोजेक्ट web.config फ़ाइल में कनेक्शनस्ट्रिंग को कॉपी और पेस्ट करें इस समस्या को हल करेगा।

25

DBContext फ़ाइल में

public RaficaDB() 
: base("name=DefaultConnection"){} 

public RaficaDB() 
: base("DefaultConnection"){} 

को एफई 4 को हटा दें।3, एफई 5 और एफई 6 पसंद नहीं है कनेक्शन स्ट्रिंग नाम = xxxxx

उत्तर यहां पाया बुलाया जा रहा है ->No connection string named 'MyApplicationEntities' could be found in the application config file

+0

यदि आप ' नाम = xxx' कन्स्ट्रक्टर के लिए, यह उस विशिष्ट कनेक्शन स्ट्रिंग को देखेगा और सेट नहीं होने पर त्रुटि फेंक देगा। अगर आप 'name = xxx' निर्दिष्ट नहीं करते हैं, तो स्थानीय डीबी/स्क्लेक्सप्रेस इसे बनाने का प्रयास करेगा। https://msdn.microsoft.com/en-us/library/jj592674(v=vs.113).aspx – murraybiscuit

संबंधित मुद्दे