【EntityFramework-1】代码先行

1.模型配置方法:

1.1 DataAnnotations:

  • 数据库中键表,添加字段(表t_login)
  • 创建 Login类
  • 表名:[Table("t_user")]
  • 字段名:[Column("Name")]
  • 新建一个继承 DbContext的类
 public TestDBContent() : base("name=conn1"){} //conn1为连接字符串
public DbSet Logins { get; set; }

1.2 FluentAPI:

  • 数据库键表
  • 创建实体(不用任何修饰)
  • 创建一个配置类(EntityTypeConfiguration继承这个类就可以了):
class UserConfig: EntityTypeConfiguration
{                                                                                      
      public UserConfig()
      {
          this.ToTable("t_user");//等价于[Table("t_user")]
      }
}
  • 新建一个继承 DbContext的类,重写OnModelCreating方法
public TestDBContent() : base("name=conn1"){}//conn1为连接字符串
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);  
    modelBuilder.Configurations.AddFromAssembly(Assembly.GetExecutingAssembly());  //加载当前执行的配置文件类的程序集 
   //如果不在同一个程序集,可能是Assembly.Load("名称");
}  
public DbSet Persons { get; set; }

1.2.1 简单写法(不推荐):

  • 1.2中不需要配置类,直接这样写就可了
public TestDBContent() : base("name=conn1"){}//conn1为连接字符串
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
      base.OnModelCreating(modelBuilder);  
      modelBuilder.Entity().ToTable("t_user"); 
      //第二种写法modelBuilder.Configurations.Add(new UserConfig())
}  
public DbSet Persons { get; set; }

你可能感兴趣的:(【EntityFramework-1】代码先行)