【EntityFramework-1】代码先行

1.模型配置方法:

1.1 DataAnnotations:

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

1.2 FluentAPI:

  • 数据库键表
  • 创建实体(不用任何修饰)
  • 创建一个配置类(EntityTypeConfiguration继承这个类就可以了):
class UserConfig: EntityTypeConfiguration<User>
{                                                                                      
      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<Person> 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<User>().ToTable("t_user"); 
      //第二种写法modelBuilder.Configurations.Add(new UserConfig())
}  
public DbSet<Person> Persons { get; set; }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,442评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,952评论 18 399
  • 一套完整的登陆注册业务逻辑 准备部分基础工具类Basepackage com.jericho.tools;impo...
    JerichoPH阅读 7,174评论 0 9
  • 一. Java基础部分.................................................
    wy_sure阅读 9,248评论 0 11
  • 我们的生命到底有什么可能?多少种追寻方向?这些追寻之间到底谁优谁劣? 追寻改变世界的人,是不是比追寻爱情的人更加伟...
    兮水太极服阅读 3,021评论 0 0