2011-09-19 10 views
6

Tabloların eşlemesini Fluent API kullanarak varlıklara ayırmanın en iyi yolu nedir, böylece her biri ayrı bir sınıfta olmalı ve OnModelCreating yönteminde satır içi değil. Şu anda ne işim varVarlık Çerçeve Kodu İlk - Başka bir dosyada yapılandırma

: istediğim Ne

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); 
    } 
} 

Bunu nasıl yaparsınız? C# kullanıyorum.

cevap

16

Sen EntityTypeConfiguration sınıftan, şöyle devralan bir sınıf oluşturmak isteyeceklerdir:

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

: O zaman şöyle bağlamın parçası olarak yapılandırma sınıfı yükleyebilirsiniz

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

This article, yapılandırma sınıflarını kullanmayla ilgili daha ayrıntılı bilgi verir.