Элемент OnDelete (CSDL)
Элемент OnDelete в языке CSDL задает поведение, связанное с ассоциацией. Если для атрибута Action задано значение Cascade в одном элементе ассоциации, то при удалении типа сущности в первом элементе также будут удалены связанные типы в другом элементе. Если между двумя типами сущностей присутствует ассоциация со связью «первичный ключ к первичному ключу», то загруженный зависимый объект будет удален из объекта участника в другом элементе ассоциации независимо от спецификации OnDelete. Дополнительные сведения см. в разделе Определение отношений и управление отношениями (платформа Entity Framework). Удаляются только связанные типы сущностей, которые были загружены в ObjectContext.
![]() |
---|
Элемент OnDelete влияет только на поведение приложения во время выполнения; он не влияет на поведение в источнике данных.Поведение, определенное в источнике данных, должно совпадать с поведением, определенным для приложения. |
Элемент OnDelete может иметь следующие дочерние элементы (в порядке перечисления).
Documentation (ноль или один элемент)
Элементы Annotation (ноль или более элементов)
Применимые атрибуты
В таблице ниже описываются атрибуты которые могут быть применены к элементу OnDelete.
Имя атрибута | Необходимо | Значение |
---|---|---|
Action |
Да |
Cascade или None. Если Cascade, то зависимые типы сущностей будут удалены при удалении основного типа сущности. Если None, то зависимые типы сущностей не будут удалены при удалении основного типа сущности. |
![]() |
---|
К элементу 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