Entity Framework 7 (EF7)中的继承映射允许您将类层次结构映射到数据库中的表层次结构。具体而言,这意味着您可以创建一个基类,然后从该基类派生多个子类,并将这些子类映射到不同的数据库表。这使得在数据库中存储不同类型的数据变得更加方便,同时还能保持面向对象编程的优雅性。
EF7提供了三种类型的继承映射:单表继承(Table Per Hierarchy,TPH)、分层表继承(Table Per Type,TPT)和单独的表继承(Table Per Concrete Class,TPC)。下面分别介绍这三种映射类型。 性能基准
单表继承映射(Table Per Hierarchy,TPH)
这个代码片段中,Animal被映射到Animals表中。对于每个Animal子类,使用ToTable方法将其映射到相应的表中。在每个子类表中,使用HasOne方法指定一个导航属性,表示它与基类表中的一行相关联。使用HasForeignKey方法指定外键属性和基类表中的主键。
单独的表继承映射(Table Per Concrete Class,TPC)