外部索引鍵屬性

在包含另一個實體類型的實體索引鍵實體類型,實體資料模型 (EDM) 的外部索引鍵屬性是基本型別屬性 (或基本型別屬性集)。

外部索引鍵屬性類似關聯式資料庫中的外部索引鍵資料行。 外部索引鍵資料行在關聯式資料庫中建立資料表之間的關聯性,同樣地,概念模型的外部索引鍵屬性則用於建立實體類型之間的關聯。 當其中一個類型具有外部索引鍵屬性時,會使用參考完整性條件約束定義兩個實體類型之間的關聯。

範例

下圖顯示包含三種實體類型 (BookPublisherAuthor) 的概念模型。 Book 實體類型具有屬性 PublisherId,當您定義 Publisher 關聯的參考完整性條件約束時,此屬性會參考 PublishedBy 實體類型的實體索引鍵。

RefConstraintModel

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>

另請參閱