Элемент OnDelete (CSDL)

Элемент OnDelete в языке CSDL задает поведение, связанное с ассоциацией. Если для атрибута Action задано значение Cascade в одном элементе ассоциации, то при удалении типа сущности в первом элементе также будут удалены связанные типы в другом элементе. Если между двумя типами сущностей присутствует ассоциация со связью «первичный ключ к первичному ключу», то загруженный зависимый объект будет удален из объекта участника в другом элементе ассоциации независимо от спецификации OnDelete. Дополнительные сведения см. в разделе Определение отношений и управление отношениями (платформа Entity Framework). Удаляются только связанные типы сущностей, которые были загружены в ObjectContext.

Cc716734.note(ru-ru,VS.100).gifПримечание
Элемент OnDelete влияет только на поведение приложения во время выполнения; он не влияет на поведение в источнике данных.Поведение, определенное в источнике данных, должно совпадать с поведением, определенным для приложения.

Элемент OnDelete может иметь следующие дочерние элементы (в порядке перечисления).

Применимые атрибуты

В таблице ниже описываются атрибуты которые могут быть применены к элементу OnDelete.

Имя атрибута Необходимо Значение

Action

Да

Cascade или None. Если Cascade, то зависимые типы сущностей будут удалены при удалении основного типа сущности. Если None, то зависимые типы сущностей не будут удалены при удалении основного типа сущности.

Cc716734.note(ru-ru,VS.100).gifПримечание
К элементу Association может быть применено любое количество атрибутов annotation (настраиваемых атрибутов XML).Однако настраиваемые атрибуты не могут принадлежать к любому пространству имен XML, зарезервированному для CSDL.Полные имена любых двух настраиваемых атрибутов не могут совпадать.

Пример

В следующем примере рассматривается элемент Association, определяющий ассоциацию CustomerOrders. Элемент OnDelete указывает, что все объекты Orders, связанные с определенным элементом Customer, которые были загружены в ObjectContext, будут удалены при удалении элемента Customer.

<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