共用方式為


引用完整性約束

實體數據模型 (EDM) 中的 引用完整性條件約束 類似於關係資料庫中的引用完整性條件約束。 與資料庫數據表中的數據行(或數據行)可以參考另一個數據表的主鍵相同,實體類型的屬性(或屬性)可以參考另一個實體類型的實體索引鍵。 參考的實體類型稱為條件約束的 主體結尾 。 參考主體端的實體類型稱為條件約束的 相依端

引用完整性約束條件定義為作為兩個實體類型之間關聯的一部分。 參考完整性條件約束的定義會指定下列資訊:

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

  • 主端的實體鍵。

  • 約束的依賴端。 (一種實體類型,其屬性會參考主要一端的實體索引鍵。)

  • 相依端的參考屬性或屬性。

EDM 中引用完整性條件約束的目的是確保有效的關聯一律存在。 如需詳細資訊,請參閱 外鍵屬性

範例

下圖顯示具有兩個關聯的概念模型: WrittenByPublishedBy。 實體類型Book有一個屬性PublisherId,當您在關聯Publisher上定義引用完整性約束時,它引用實體類型PublishedBy的實體索引鍵。

參考條件約束模型的 範例

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>

另請參閱