代码优先:避免区分器列并保持继承

本文关键字:继承 免区 代码 | 更新日期: 2023-09-27 17:56:41

在我的项目中,我有:

public class BaseEntity {
    [Key]
    public int Id {get; set; }
}

然后,我必须定义 10+ POCO 类来定义数据库中的表:

public class MyTable : BaseEntity {
    //define properties here
}

当然,因为MyTable继承自BaseEntity所以我得到了鉴别器字段。我想摆脱Discriminator字段,因为我不需要创建表BaseEntity,也不需要在我的数据库中实现某种继承。

可能吗?

代码优先:避免区分器列并保持继承

几个选项:

  • 制作BaseEntity abstract
  • yourDbContext.OnModelCreating中使用modelBuilder.Ignore<BaseEntity>()