OnDelete 元素 (CSDL)

以概念架构定义语言 (CSDL) 表示的 OnDelete 元素定义与关联相关的行为。 如果 Action 特性在关联的一端设置为 Cascade,则当删除这一端上的实体类型时,将删除关联的另一端上的相关实体类型。 如果两个实体类型之间的关联是主键对主键关系,则当删除关联的另一端上的主体对象时,将删除已加载的依赖对象,而不考虑 OnDelete 规范。 有关更多信息,请参见定义和管理关系(实体框架)。 只删除已加载到 ObjectContext 中的相关实体类型。

Cc716734.note(zh-cn,VS.100).gif注意:
OnDelete 元素只影响应用程序的运行时行为,它不影响数据源中的行为。在数据源中定义的行为应与在应用程序中定义的行为相同。

OnDelete 元素可以具有以下子元素(按所列顺序):

适用的特性

下表介绍可应用于 OnDelete 元素的特性。

特性名称 是否必需

Action

CascadeNone。 如果为 Cascade,则当删除主体实体类型时,将删除从属实体类型。 如果为 None,则当删除主体实体类型时,将不删除从属实体类型。

Cc716734.note(zh-cn,VS.100).gif注意:
可以将任何数量的批注特性(自定义 XML 特性)应用于 Association 元素。然而,自定义特性可能不属于为 CSDL 保留的任何 XML 命名空间。任何两个自定义特性的完全限定名称都不能相同。

示例

下面的示例显示用于定义 CustomerOrders 关联的 Association 元素。 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>

另请参见

概念

实体框架概述
CSDL 规范
Schema 元素 (CSDL)

其他资源

CSDL、SSDL 和 MSL 规范
ADO.NET Entity Data Model Tools