2011-09-19 11 views
6

Qual è il modo migliore per separare la mappatura delle tabelle alle entità utilizzando l'API Fluent in modo che sia tutto in una classe separata e non in linea nel metodo OnModelCreating?Codice quadro entità prima - Configurazione in un altro file

Quello che sto facendo attualmente:

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

quello che voglio:

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

Come si fa a fare questo? Sto usando C#.

risposta

16

Si vuole creare una classe che eredita dalla classe EntityTypeConfiguration, in questo modo:

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

Poi si può caricare la classe di configurazione come parte del contesto in questo modo:

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

This article approfondisce l'uso delle classi di configurazione.

Problemi correlati