2011-09-19 12 views
6

फ्लुएंट एपीआई का उपयोग करके इकाइयों को टेबल मैपिंग को अलग करने का सबसे अच्छा तरीका क्या है कि यह सब एक अलग वर्ग में है और ऑनमोडेल क्रिएटिंग विधि में इनलाइन नहीं है?इकाई फ्रेमवर्क कोड पहले - किसी अन्य फ़ाइल में कॉन्फ़िगरेशन

मैं वर्तमान में क्या कर रहा हूँ:

public class FooContext : DbContext { 
    // ... 
    protected override OnModelCreating(DbModelBuilder modelBuilder) { 
     modelBuilder.Entity<Foo>().Property(...); 
     // ... 
    } 
} 

जो मैं चाहता:

public class FooContext : DbContext { 
    // ... 
    protected override OnModelCreating(DbModelBuilder modelBuilder) { 
     modelBuilder.LoadConfiguration(SomeConfigurationBootstrapperClass); 
    } 
} 

आप यह कैसे करते हो? मैं सी # का उपयोग कर रहा हूँ।

उत्तर

16

आप एक वर्ग है कि EntityTypeConfiguration वर्ग से है, इसलिए की तरह विरासत में निर्मित करना चाहेंगे:

public class FooContext : DbContext 
{ 
    protected override OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Configurations.Add(new FooConfiguration()); 
    } 
} 

: तो फिर तुम इतनी तरह संदर्भ के हिस्से के रूप विन्यास वर्ग लोड कर सकते हैं

public class FooConfiguration : EntityTypeConfiguration<Foo> 
{ 
    public FooConfiguration() 
    { 
     // Configuration goes here... 
    } 
} 

This article विन्यास कक्षाओं का उपयोग करने पर अधिक विस्तार से चला जाता है।

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