外部索引鍵屬性
在包含另一個實體類型的實體索引鍵的實體類型,實體資料模型 (EDM) 的外部索引鍵屬性是基本型別屬性 (或基本型別屬性集)。
外部索引鍵屬性類似關聯式資料庫中的外部索引鍵資料行。 外部索引鍵資料行在關聯式資料庫中建立資料表之間的關聯性,同樣地,概念模型的外部索引鍵屬性則用於建立實體類型之間的關聯。 當其中一個類型具有外部索引鍵屬性時,會使用參考完整性條件約束定義兩個實體類型之間的關聯。
範例
下圖顯示包含三種實體類型 (Book
、Publisher
和 Author
) 的概念模型。 Book
實體類型具有屬性 PublisherId
,當您定義 Publisher
關聯的參考完整性條件約束時,此屬性會參考 PublishedBy
實體類型的實體索引鍵。
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>