參考完整性條件約束

實體資料模型 (EDM) 的「參考完整性限制式」關聯式資料庫類似於關聯式資料庫的參考完整性限制式。 同樣地,資料庫資料表的資料行 (或多個資料行) 可以參考其他資料表的主索引鍵,實體類型屬性 (或多個屬性) 可以參考其他實體類型的實體索引鍵。 參考的實體類型稱為限制式的「主要端點」。 參考主要端點的實體類型稱為限制式的「相依端點」

參考完整性限制式定義為兩個實體類型關聯的一部分。 參考完整性條件約束的定義指定下列資訊:

  • 條件約束的主要端點。 (實體類型,相依端點會參考其實體索引鍵。)

  • 主要端點的實體索引鍵。

  • 條件約束的相依端點。 (實體類型,具有參考主要端點之實體索引鍵的屬性。)

  • 相依端點的參考屬性。

在 EDM 中,參考完整性條件約束的目的在於確保有效的關聯永遠存在。 如需詳細資訊,請參閱外部索引鍵屬性

範例

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

RefConstraintModel

ADO.NET Entity Framework 會使用稱為概念結構定義語言 (CSDL) 的特定領域語言 (DSL) 來定義概念模型。 下列 CSDL 會對上述概念模型中的 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>

另請參閱