EF模型

Entity Framework基于C#的POCO型类,加上一组约定来创建并配置EF模型。
所谓的模型,反应到数据库就是:
  1. 模型类对应数据库里的一张表
  2. 模型类里的属性字段对应的表里的一个列
  3. 附加在模型类里的所有约定是表的一些配置(比如:主键、必选、最大长度等等)

NO.1 创建模型

public class Blog
    {
        public int BlogId { get; set; }
        [Required]
        public string Url { get; set; }
    }

正如上图所示,创建模型其实就和创建一个类是一样一样的,上面是一个最简单的模型,反应到数据库就是:

  • 表名:Blog
  • 字段:BlogId(类型int)、Url(类型:varchar)
  • 约定:Url是必填项

NO.2 配置模型

所谓配置模型,就是给模型附加各种条件,诸如:表中的某个字段是主键、某个字段是必选的、哪个字段的最大长度是多少等等之类。
而配置模型有下列两种方法:

1. 使用 fluent API 配置模型

可在DbContext上下文类中继承OnModelCreating方法,然后使用它ModelBuilder去配置你的模型类。

class MyContext : DbContext
    {
        public DbSet Blogs { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity()
                .Property(b => b.Url)
                .IsRequired();
        }
    }
2. 使用注解来配置模型

为了方便管理,EF提供了使用注解来配置模型,但注解配置的约定优先级是低于fluent API的,所以,当fluent API与注解的配置冲突时,以fluent API为准。

public class Blog
    {
        public int BlogId { get; set; }
        [Required]
        public string Url { get; set; }
    }

一个每日更新的干货公众号

你可能感兴趣的:(EF模型)