外部索引鍵屬性 (實體資料模型)
在包含另一個實體類型之體實體索引鍵的實體類型上,實體資料模型 (EDM) 中的「外部索引鍵屬性」(Foreign key property) 是基本型別屬性 (或基本型別屬性集)。
外部索引鍵屬性類似關聯式資料庫中的外部索引鍵資料行。 外部索引鍵資料行在關聯式資料庫中建立資料表之間的關聯性,同樣地,概念模型中的外部索引鍵屬性則用於建立實體類型之間的關聯。 當其中一個類型具有外部索引鍵屬性時,會使用參考完整性條件約束定義兩個實體類型之間的關聯。
範例
下圖顯示包含三種實體類型 (Book、Publisher 和 Author) 的概念模型。 Book實體類型具有屬性 PublisherId,當您定義 PublishedBy 關聯的參考完整性條件約束時,此屬性會參考Publisher實體類型的實體索引鍵。
ADO.NET Entity Framework 會使用稱為概念結構定義語言 (CSDL) 的特定定義域語言 (DSL) 來定義概念模型。 下列 CSDL 使用外部索引鍵屬性 PublisherId,針對上述概念模型中的 PublishedBy 關聯定義參考完整性條件約束。
<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>