Entity注解
[Table(name)]
[Required]
[MaxLength(255)]
[NotMapped]
[Column(name)]
[Column(TypeName="sql类型")]
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)] 不自动生成主键值
实体继承映射 Entity Inheritance Mapping
1. table-per-hierarchy 父子类同一张表, (默认)
表默认添加 Discriminator 字段区分类型
可以在 DbContext类的 OnModelCreating 方向里修改Discriminator字段名称
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Shape>()
.HasDiscriminator<string>("ShapeType")
.HasValue<Shape>("S")
.HasValue<Cube>("C");
}
2. table-per-type 一个类一张表
1. [Table()]
2. 在 DbContext类的 OnModelCreating 方向里定义表
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Shape>().ToTable("Shape");
modelBuilder.Entity<Cube>().ToTable("Cube");
}