小白学习之Code First(三)

时间:2021-01-04 05:57:17

上下文Context类中的base构造器的几个方法重置(1、无参 2、database name 3 、 连接字符串)

无参:如果基类base方法中无参,code first将会以 :{Namespace}.{Context class name} 为名字创建一个服务

   public class CSContext:DbContext
{
public CSContext():base("name=ConnStr") //创建名为配置文件中指定的数据库
{
}
//public CSContext() : base("databaseDemo")//创建名为databaseDemo的数据库
//{ //}
//public CSContext() : base() //创建名为CodeFirstTest1.CSContext的数据库
//{ //}
//学生和班级的集合
public DbSet<StudentInfo> StudentInfos { get; set; }
public DbSet<ClassInfo> ClassInfos { get; set; }
/// <summary>
/// 派生上下文模型初始化后,该模型锁定之前
/// </summary>
/// <param name="modelBuilder">DbModelBuilder 用于将 CLR 类映射到数据库架构。 此以代码为中心的方法称作“Code First”,可用于生成实体数据模型 (EDM) 模型</param>
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// 首次访问数据库时调用数据库初始值设定项 默认值是:CreateDatabaseIfNotExists<TContext>
//下面的值为模型发生改变时,删除数据库重建数据库
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<CSContext>());
base.OnModelCreating(modelBuilder);
}
}