实体类型是描述实体数据模型(EDM)数据结构的基本构建基块。 在概念模型中,实体类型表示顶级概念的结构,例如客户或订单。 实体类型是实体类型实例的模板。 每个模板都包含以下信息:
在应用程序中,实体类型的实例表示特定对象(例如特定客户或订单)。 每个实体类型的实例在实体集中必须具有唯一的实体键。
仅当两个实体类型实例的类型相同且实体键的值相同时,两个实体类型实例才被视为相等。
示例:
下图显示了一个概念模型,其中包含三种实体类型: Book
、 Publisher
和 Author
:
请注意,构成实体键的每个实体类型的属性都用“(Key)”表示。
ADO.NET Entity Framework 使用称为概念架构定义语言(CSDL)的特定于域的语言(DSL)来定义概念模型。 以下 CSDL 定义 Book
上图中显示的实体类型:
<EntityType Name="Book">
<Key>
<PropertyRef Name="ISBN" />
</Key>
<Property Type="String" Name="ISBN" Nullable="false" />
<Property Type="String" Name="Title" Nullable="false" />
<Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
<NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
FromRole="Book" ToRole="Publisher" />
<NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
FromRole="Book" ToRole="Author" />
</EntityType>