zoukankan      html  css  js  c++  java
  • EF Code-First 学习之旅 EntityTypeConfiguration<TEntity>

    之前我们配置的实体都都在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());
                   
        }
    }
            
  • 相关阅读:
    重学数据库
    小炒肉
    地三鲜
    mac安装使用visualbox不能启动
    idea Services dashboard
    C# 使用Linq问题
    IDEA 修改页面不重启
    idea提交代码失败
    Idea git 强制同步fork的项目,会覆盖本地上传的文件吗?
    了解swagger遇到的问题
  • 原文地址:https://www.cnblogs.com/lanpingwang/p/6642396.html
Copyright © 2011-2022 走看看