PropertyRef 元素 (CSDL)
以概念架构定义语言 (CSDL) 表示的 PropertyRef 元素引用实体类型的属性,以指示该属性将承担以下角色之一:
实体键的一部分(实体类型的用于确定标识的一个或一组属性)。 可以使用一个或多个 PropertyRef 元素定义实体键。 有关更多信息,请参见 Key 元素。
引用约束的依赖端或主体端。 有关更多信息,请参见 ReferentialConstraint 元素。
PropertyRef 元素只能具有批注元素(零个或多个)作为子元素。
注意: |
---|
批注元素只能用在面向 .NET Framework 版本 4 或更高版本的应用程序的概念模型中。此类模型的 XML 命名空间为 https://schemas.microsoft.com/ado/2008/09/edm。 |
适用的特性
下表介绍可应用于 PropertyRef 元素的特性。
特性名称 | 是否必需 | 值 |
---|---|---|
Name |
是 |
所引用属性的名称。 |
注意: |
---|
可以将任何数量的批注特性(自定义 XML 特性)应用于 PropertyRef 元素。然而,自定义特性可能不属于为 CSDL 保留的任何 XML 命名空间。任何两个自定义特性的完全限定名称都不能相同。 |
示例
下面的示例定义一个实体类型 (Book)。 实体键通过引用实体类型的 ISBN 属性来定义。
<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>
在下一个实例中,使用两个 PropertyRef 元素来指示两个属性(Id 和 PublisherId)是引用约束的主体端和依赖端。
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
</End>
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
<ReferentialConstraint>
<Principal Role="Publisher">
<PropertyRef Name="Id" />
</Principal>
<Dependent Role="Book">
<PropertyRef Name="PublisherId" />
</Dependent>
</ReferentialConstraint>
</Association>
另请参见
概念
实体框架概述
CSDL 规范
Schema 元素 (CSDL)
其他资源
CSDL、SSDL 和 MSL 规范
ADO.NET Entity Data Model Tools
entity key (Entity Data Model)