EntityTypeConfiguration

来源:互联网 发布:卖家怎么加入爱淘宝 编辑:程序博客网 时间:2024/06/06 19:02
我们配置的实体都都在OnModelCreating方法中,如果有很多实体的话,OnModelCreating方法管理很麻烦

我们可以用单独的类来管理配置,继承EntityTypeConfiguration<TEntity>类实现

复制代码
public class StudentEntityConfiguration: EntityTypeConfiguration<Student>{    public StudentEntityConfiguration()    {                    this.ToTable("StudentInfo");                            this.HasKey<int>(s => s.StudentKey);                                            this.Property(p => p.DateOfBirth)                    .HasColumnName("DoB")                    .HasColumnOrder(3)                    .HasColumnType("datetime2");            this.Property(p => p.StudentName)                    .HasMaxLength(50);                                    this.Property(p => p.StudentName)                    .IsConcurrencyToken();                            this.HasMany<Course>(s => s.Courses)                .WithMany(c => c.Students)                .Map(cs =>                        {                            cs.MapLeftKey("StudentId");                            cs.MapRightKey("CourseId");                            cs.ToTable("StudentCourse");                        });    }}     
复制代码

 

 

复制代码
public class SchoolDBContext: DbContext {    public SchoolDBContext(): base()     {    }    public DbSet<Student> Students { get; set; }    public DbSet<Standard> Standards { get; set; }    public DbSet<StudentAddress> StudentAddress { get; set; }            protected override void OnModelCreating(DbModelBuilder modelBuilder)    {            // Moved all Student related configuration to StudentEntityConfiguration class            modelBuilder.Configurations.Add(new StudentEntityConfiguration());                   }}        
复制代码
原创粉丝点击