PropertyRef 項目 (CSDL)
概念結構定義語言 (CSDL) 中的 PropertyRef 項目會參考實體類型的屬性,表示屬性將執行下列其中一種角色:
實體索引鍵的一部分 (可判斷識別之實體類型的屬性或屬性集)。 一個或多個 PropertyRef 項目可用來定義實體索引鍵。 如需詳細資訊,請參閱 Key 項目。
參考條件約束的相依端點和主要端點。 如需詳細資訊,請參閱 ReferentialConstraint 項目。
PropertyRef 只能將 Annotation 項目 (零或多個) 當作子項目。
注意: |
---|
Annotation 項目僅能用於應用程式的概念模型,該應用程式的目標必須是 .NET Framework 4 版或以後版本。這類模型的 XML 命名空間是 https://schemas.microsoft.com/ado/2008/09/edm。 |
適用屬性
以下資料表描述的屬性可套用至 PropertyRef 項目。
屬性名稱 | 必要 | 值 |
---|---|---|
Name |
是 |
參考屬性的名稱。 |
注意: |
---|
Any number of annotation attributes (custom XML attributes) may be applied to the PropertyRef element.不過,自訂屬性不可屬於任何 XML 命名空間,這是保留供 CSDL 使用。任兩個自訂屬性的完整名稱不能相同。 |
範例
以下範例定義實體類型 (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>
另請參閱
概念
Entity Framework 概觀
CSDL 規格
Schema 項目 (CSDL)
其他資源
CSDL、SSDL 和 MSL 規格
ADO.NET Entity Data Model Tools
entity key (Entity Data Model)