OnDelete 元素 (CSDL)
以概念架构定义语言 (CSDL) 表示的 OnDelete 元素定义与关联相关的行为。 如果 Action 特性在关联的一端设置为 Cascade,则当删除这一端上的实体类型时,将删除关联的另一端上的相关实体类型。 如果两个实体类型之间的关联是主键对主键关系,则当删除关联的另一端上的主体对象时,将删除已加载的依赖对象,而不考虑 OnDelete 规范。 有关更多信息,请参见定义和管理关系(实体框架)。 只删除已加载到 ObjectContext 中的相关实体类型。
注意: |
---|
OnDelete 元素只影响应用程序的运行时行为,它不影响数据源中的行为。在数据源中定义的行为应与在应用程序中定义的行为相同。 |
OnDelete 元素可以具有以下子元素(按所列顺序):
Documentation(零个或一个元素)
批注元素(零个或多个元素)
适用的特性
下表介绍可应用于 OnDelete 元素的特性。
特性名称 | 是否必需 | 值 |
---|---|---|
Action |
是 |
Cascade 或 None。 如果为 Cascade,则当删除主体实体类型时,将删除从属实体类型。 如果为 None,则当删除主体实体类型时,将不删除从属实体类型。 |
注意: |
---|
可以将任何数量的批注特性(自定义 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)