共用方式為


參考條件約束 (Entity Framework)

在 Entity Data Model (EDM) 中,參考條件約束可存在於相關物件之間,例如 SalesOrderHeaderSalesOrderDetail 物件之間。這些條件約束是在概念結構定義語言 (CSDL) 檔案中指定。如需詳細資訊,請參閱 ReferentialConstraint 項目 (EntityContainer CSDL)

Note附註

物件服務不會強制執行可在 EDM 中表示的所有條件約束。例如,物件服務不會強制執行關聯性的基數條件約束,而且當您將相關物件的變更儲存至資料來源時,這可能會導致不一致的結果。請確定資料來源會強制執行所有重要的模型條件約束。

當您使用具有約束之關聯性的物件時,請注意以下幾點:

  • 如果沒有定義與父物件的關聯性,相依 (子) 物件就無法存在。

  • 當您建立新的子物件時,父物件必須在物件內容或資料來源中,然後才會呼叫 SaveChanges。否則將會引發 InvalidOperationException

  • 使用 Add 方法,將子物件加入到父物件的 EntityCollection。子物件的集合可從已經針對此關聯性定義的導覽屬性來存取,或是從父物件之 RelationshipManager 屬性上的 GetRelatedEndGetRelatedCollection 方法來存取。

  • 刪除父物件也會刪除條件約束關聯性中的所有子物件。這個結果與針對關聯性的關聯啟用 CascadeDelete 屬性相同。

  • 移除此關聯性會刪除子物件。這表示,在 EntityCollection 上呼叫 Remove 會將關聯性和子物件標示為要刪除。

  • 在建立關聯性之後,只能使用以下程序來加以變更:

    1. 卸除現有的關聯性。

    2. 呼叫 SaveChanges

    3. 將保存的子物件加入到新的父物件的 EntityCollection

另請參閱

其他資源

使用物件 (Entity Framework)