小白学习之Code First(三)
上下文Context类中的base构造器的几个方法重置(1、无参 2、database name 3 、 连接字符串)
无参:如果基类base方法中无参,code first将会以 :{Namespace}.{Context class name} 为名字创建一个服务
1 public class CSContext:DbContext 2 { 3 public CSContext():base("name=ConnStr") //创建名为配置文件中指定的数据库 4 { 5 } 6 //public CSContext() : base("databaseDemo")//创建名为databaseDemo的数据库 7 //{ 8 9 //} 10 //public CSContext() : base() //创建名为CodeFirstTest1.CSContext的数据库 11 //{ 12 13 //} 14 //学生和班级的集合 15 public DbSet<StudentInfo> StudentInfos { get; set; } 16 public DbSet<ClassInfo> ClassInfos { get; set; } 17 /// <summary> 18 /// 派生上下文模型初始化后,该模型锁定之前 19 /// </summary> 20 /// <param name="modelBuilder">DbModelBuilder 用于将 CLR 类映射到数据库架构。 此以代码为中心的方法称作“Code First”,可用于生成实体数据模型 (EDM) 模型</param> 21 protected override void OnModelCreating(DbModelBuilder modelBuilder) 22 { 23 // 首次访问数据库时调用数据库初始值设定项 默认值是:CreateDatabaseIfNotExists<TContext> 24 //下面的值为模型发生改变时,删除数据库重建数据库 25 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<CSContext>()); 26 base.OnModelCreating(modelBuilder); 27 } 28 }
每天学习一点点,每天进步一点点