实体数据模型(EDM)支持 实体类型的继承。 EDM 中的继承类似于面向对象的编程语言中的类的继承。 与面向对象的语言中的类一样,在概念模型中,可以定义从另一个实体类型(基类型)继承的实体类型(派生类型)。 但是,与面向对象的编程中的类不同,在概念模型中,派生类型始终继承基类型的所有 属性 和 导航属性 。 不能重写派生类型中的继承属性。
在概念模型中,可以生成继承层次结构,其中派生类型继承自另一个派生类型。 层次结构顶部的类型(不是派生类型的层次结构中的一种类型)称为 根类型。 在继承层次结构中,必须在根类型上定义 实体键 。
无法生成派生类型从多个类型继承的继承层次结构。 例如,在具有 Book 实体类型的概念模型中,可以定义派生类型 FictionBook ,并且 NonFictionBook 每个类型都继承自 Book。 但是,你无法定义一个同时继承自FictionBook和NonFictionBook类型的类型。
示例:
下图显示了一个概念模型,其中包含四种实体类型: Book、 FictionBook、 Publisher和 Author。 实体 FictionBook 类型是派生类型,继承自 Book 实体类型。 该FictionBook类型继承ISBN (Key)、Title和Revision属性,并定义一个名为Genre的额外属性。

ADO.NET Entity Framework 使用称为概念架构定义语言(CSDL)的特定于域的语言(DSL)来定义概念模型。 以下 CSDL 定义一个实体类型FictionBook,该类型继承自Book类型(如上图所示):
<EntityType Name="FictionBook" BaseType="BooksModel.Book" >
<Property Type="String" Name="Genre" Nullable="false" />
</EntityType>