共用方式為


參考完整性條件約束 (實體資料模型)

實體資料模型 (EDM) 中的「參考完整性條件約束」(Referential Integrity Constraint) 類似於關聯式資料庫中的參考完整性條件約束。 資料庫資料表中的資料行可以參考另一個資料表的主要索引鍵,同樣地,實體類型屬性也可以參考另一個實體類型的實體索引鍵。 參考的實體類型稱為條件約束的「主要端點」(Principal End)。 參考主要端點的實體類型稱為條件約束的「相依端點」(Dependent End)。

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

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

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

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

  • 相依端點的參考屬性。

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

範例

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

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>

另請參閱

概念

實體資料模型索引鍵概念
實體資料模型