OnDelete 項目 (CSDL)

概念結構定義語言 (CSDL) 中的 OnDelete 項目可定義連接關聯的行為。 如果在關聯的其中一個端點上,將 Action 屬性設定為 Cascade,刪除關聯第一個端點上的實體類型時,也會刪除關聯另一個端點上的相關實體類型。 如果兩個實體類型之間的關聯是主索引鍵對主索引鍵的關聯性,則不論 OnDelete 規格為何,若刪除關聯另一端點上的主要物件,也會刪除載入的相依物件,。 如需詳細資訊,請參閱定義及管理關聯性。 只會刪除已載入至 ObjectContext 的相關實體類型。

Cc716734.note(zh-tw,VS.100).gif注意:
OnDelete 項目只會影響應用程式的執行階段行為,不會影響資料來源中的行為。資料來源中定義的行為應與應用程式中定義的行為相同。

OnDelete 項目可以擁有下列子項目 (依列出的順序):

適用屬性

以下資料表描述的屬性可套用至 OnDelete 項目。

屬性名稱 必要

Action

CascadeNone 如果是 Cascade,刪除主要實體類型時,也會刪除相依實體類型。 如果是 None,刪除主要實體類型時,不會刪除相依實體類型。

Cc716734.note(zh-tw,VS.100).gif注意:
任何數量的附註屬性 (自訂 XML 屬性) 都可以套用至 Association 項目。不過,自訂屬性不可屬於任何 XML 命名空間,這是保留供 CSDL 使用。任兩個自訂屬性的完整名稱不能相同。

範例

下列範例顯示 Association 項目定義 CustomerOrders 關聯。 OnDelete 項目表示刪除 Customer 時,也會刪除與特定 Customer 相關、並且已載入至 ObjectContext 的所有 Orders

<Association Name="CustomerOrders">
  <End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
  <End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
        <OnDelete Action="Cascade" />
  </End>
</Association>

另請參閱

概念

Entity Framework 概觀
CSDL 規格
Schema 項目 (CSDL)

其他資源

CSDL、SSDL 和 MSL 規格
ADO.NET Entity Data Model Tools