实体类型(实体数据模型)
“实体类型”**是用于描述实体数据模型 (EDM) 中的数据结构的基本构造块。 在概念模型中,实体类型表示顶级概念(例如客户或订单)的结构。 实体类型是实体类型实例的模板。 每个模板都包含以下信息:
在应用程序中,实体类型的实例表示一个特定对象(例如特定客户或订单)。 实体类型的每个实例在某个实体集中都必须具有一个唯一的实体键。
对于两个实体类型实例,仅当其类型相同且其实体键的值也相同时才认为是相等的。
示例
下图显示了一个具有三个实体类型的概念模型:Book、Publisher 和 Author:
请注意,构成其实体键的每个实体类型的属性均用“(Key)”标示出来。
ADO.NET 实体框架使用一种称为概念架构定义语言 (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>