EF Core也支持Table-per-Type模式,也就是为每一个子类都创建一张表,子类中保存父类的关键字。公共字段保存在父类相关的表中,子类相关的表只保存自己相关的字段。TPT的定义方法如下:
modelBuilder.Entity<Blog>().ToTable("Blogs");
modelBuilder.Entity<RssBlog>().ToTable("RssBlogs");
需要说明的是,TPT的性能比TPH要差,所以如果关注性能,需要使用TPH,如果需要数据模型更符合数据库设计规则,则使用TPT。