2013-02-26 117 views
5

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

मेरे संदर्भ कारखाने कोड:

public class HOLContextFactory 
    { 
     public static HOLDbEntities Create() 
     { 
      return new HOLDbEntities(); // Works 
     } 

     public static HOLDbQuoteEntities CreateQuote() 
     { 
      return new HOLDbQuoteEntities(); // Gives error 
     } 
    } 

public partial class HOLDbQuoteEntities : HOLDbEntities 
    { 
     public HOLDbQuoteEntities() 
      : base("HOLDbQuoteEntities") // This should send "HOLDbQuoteEntities" as the base connection string?! 
// Also tried "name=HOLDbQuoteEntities" 
      { 
      } 
     } 

Web.config कनेक्शन तार: मैं जब "HOLDbQuoteEntities" का उपयोग हो रही है

<add name="HOLDbEntities" connectionString="metadata=res://*/HOLDbContext.csdl|res://*/HOLDbContext.ssdl|res://*/HOLDbContext.msl;provider=System.Data.SqlClient;provider connection string=<connstringdetails>" providerName="System.Data.EntityClient" /> 

<add name="HOLDbQuoteEntities" connectionString="metadata=res://*/HOLDbContext.csdl|res://*/HOLDbContext.ssdl|res://*/HOLDbContext.msl;provider=System.Data.SqlClient;provider connection string=<connstringdetails>" providerName="System.Data.EntityClient" /> // using diff database - same structure 

त्रुटि:

कोड का उपयोग कर उत्पन्न डेटाबेस प्रथम और मॉडल के लिए टी 4 टेम्पलेट्स कोड प्रथम में उपयोग किए जाने पर पहला विकास सही ढंग से काम नहीं कर सकता है स्तोत्र। डाटाबेस फर्स्ट या मॉडल का उपयोग जारी रखने के लिए पहले सुनिश्चित करें कि इकाई फ्रेमवर्क कनेक्शन स्ट्रिंग निष्पादन अनुप्रयोग की कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट है। कोड पहले से इन कक्षाओं, कि से डाटाबेस पहले या मॉडल सबसे पहले उत्पन्न किया गया, का उपयोग करने के गुण या DbModelBuilder एपीआई का उपयोग कर किसी भी अतिरिक्त विन्यास जोड़ने और फिर कोड है कि इस अपवाद **

उत्तर

4

इकाई की रूपरेखा वास्तविक संस्थाओं का उपयोग करने की जरूरत है आपत्ति:

public class HOLContextFactory 
{ 
    public static HOLDbEntities Create() 
    { 
     // default connection string 
     return new HOLDbEntities(); 
    } 

    public static HOLDbEntities CreateQuote() 
    { 
     // specified connection string 
     return new HOLDbEntities ("HOLDbQuoteEntities"); 
    } 
} 

public partial class HOLDbEntities 
{ 
    public HOLDbEntities(string connectionString) 
     : base(connectionString) 
     { 
     } 
    } 
} 
+0

यह वास्तव में है मैं यह कैसे अंत में किया था मैं अपने इकाई संदर्भ का उपयोग कर metadata=res://*/

इस प्रयास करें बनाने रहा हूँ। –

1

मैं फेंकता को दूर मैंने अपनी परियोजना में से एक में वही काम किया है।

<add name="HOLDbEntities" connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider connection string=<connstringdetails>" providerName="System.Data.EntityClient" /> 

<add name="HOLDbQuoteEntities" connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider connection string=<connstringdetails>" providerName="System.Data.EntityClient" />