您的位置:首页 >EF Core如何处理继承关系 TPH/TPT/TPC继承策略配置
发布于2025-12-21 阅读(0)
扫一扫,手机访问
EF Core 提供 TPH、TPT、TPC 三种继承映射策略:TPH 单表靠 Discriminator 区分类型,查询快但易出 NULL;TPT 每类一表、规范化强但需 JOIN;TPC 各类独立成表、无外键但无法统一查询所有子类。

EF Core 通过三种主流策略处理类继承与数据库表之间的映射:TPH(单表)、TPT(每类型一表)、TPC(每具体类一表)。选哪种不取决于“哪个更高级”,而要看你对查询性能、数据规范性和维护成本的实际权衡。
所有派生类数据存进一张表,靠 Discriminator 字段区分类型。这是 EF Core 默认策略,配置最轻量。
基类一个表,每个派生类单独一张表,子表通过外键引用基表主键。适合强调数据规范化、空值敏感或已有成熟分表设计的场景。
每个具体类对应一张完整表,包含全部继承字段(含基类字段),表之间无外键关联。避免了 NULL,也绕开了鉴别器逻辑。
基本上就这些。TPH 开箱即用但要注意空值和鉴别器;TPT 合乎范式却拖慢查询;TPC 独立干净却牺牲了继承语义的表达力。没有银弹,按实际读写模式和团队协作习惯选就行。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9