2011-04-12 10 views
8

मैं के माध्यम से MSDN पर Building an MVC 3 App with Code First and Entity Framework 4.1 ट्यूटोरियल काम कर रहा हूँ और "पर भी डिफ़ॉल्ट द्वारा, इस डेटाबेस नाम से दृढ़ता से टाइप किया व्युत्पन्न के साथ एक एसक्यूएल एक्सप्रेस डेटाबेस होगा अटक गया संदर्भ का नाम और इसकी फ़ाइल SQL एक्सप्रेस डिफ़ॉल्ट डेटा फ़ोल्डर में होगी। "एफई बदलें 4.1 कोड पहले डिफ़ॉल्ट डीबी स्थान

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

उत्तर

10

आप परिभाषित करते हैं कि डेटाबेस web.config फ़ाइल कनेक्शन सेटिंग्स का उपयोग कहां रहता है। तुम बस बनाने के लिए संदर्भ का नाम अपने कनेक्शन स्ट्रिंग नाम इसलिए यदि आप के संदर्भ MyContext आप नीचे के रूप में स्थान निर्धारित कर सकते है =:

<connectionStrings> 
    <clear/> 
     <add name="MyContext" 
     connectionString="Server=myServer;Database=MyDB;Uid=foo;Password=XXX; " 
     providerName="System.Data.SqlClient" 
      /> 


    </connectionStrings> 
+0

यदि मैं सभी संदर्भों को एक ही भौतिक डीबी में रहने के लिए चाहता हूं, तो क्या मैं उचित 'नाम' तत्वों और समान 'कनेक्शनस्ट्रिंग' तत्व के साथ कई प्रविष्टियां प्रदान करूंगा? –

+0

मैंने कभी कोशिश नहीं की है, लेकिन हां ऐसा लगता है कि इसे काम करना चाहिए, आपको बस अपने डीबी प्रारंभिकरण के बारे में समझना होगा कि यह प्रत्येक संदर्भ के लिए डीबी को छोड़ने और बनाने की कोशिश नहीं करता है? यानी आप DropCreateDatabaseIfModelChanges या DropCreateDatabaseAlways के बजाय CreateDatabaseIfNotExists का उपयोग कर सकते हैं – Daveo

0

अपने दूसरे सवाल का जवाब में ...

"मेरे पास कई अलग-अलग संदर्भ होंगे (प्रत्येक प्रमुख कार्यात्मक क्षेत्र के लिए एक) और वे सभी एक ही डेटाबेस में रहना चाहते हैं।"

कोशिश नहीं क्यों ...

MyContext.cs

public partial class MyContext : DbContext 
{ 
} 

FooContext.cs

partial class MyContext 
{ 
    public DbSet<Foo> Foos { get; set; } 
} 

BarContext.cs

partial class MyContext 
{ 
    public DbSet<Bar> Bars { get; set; } 
} 

आप के साथ खत्म हो जाएगा एक संदर्भ और एक कनेक्शन, लेकिन आपका कोड कई फाइलों पर विभाजित है। उम्मीद है कि आप यही हासिल करने की कोशिश कर रहे हैं।

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