OnDelete 項目 (CSDL)
概念結構定義語言 (CSDL) 中的 OnDelete 項目可定義連接關聯的行為。 如果在關聯的其中一個端點上,將 Action 屬性設定為 Cascade,刪除關聯第一個端點上的實體類型時,也會刪除關聯另一個端點上的相關實體類型。 如果兩個實體類型之間的關聯是主索引鍵對主索引鍵的關聯性,則不論 OnDelete 規格為何,若刪除關聯另一端點上的主要物件,也會刪除載入的相依物件,。 如需詳細資訊,請參閱定義及管理關聯性。 只會刪除已載入至 ObjectContext 的相關實體類型。
注意: |
---|
OnDelete 項目只會影響應用程式的執行階段行為,不會影響資料來源中的行為。資料來源中定義的行為應與應用程式中定義的行為相同。 |
OnDelete 項目可以擁有下列子項目 (依列出的順序):
Documentation (零或一個項目)
Annotation 項目 (零或多個項目)
適用屬性
以下資料表描述的屬性可套用至 OnDelete 項目。
屬性名稱 | 必要 | 值 |
---|---|---|
Action |
是 |
Cascade 或 None 如果是 Cascade,刪除主要實體類型時,也會刪除相依實體類型。 如果是 None,刪除主要實體類型時,不會刪除相依實體類型。 |
注意: |
---|
任何數量的附註屬性 (自訂 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)