Поделиться через


Элемент OnDelete (SSDL)

Элемент OnDelete на языке SSDL отражает поведение базы данных при удалении строки, которая участвует в ограничении внешнего ключа. Если действие имеет значение Cascade, то строки, ссылающиеся на удаляемую строку, также будут удалены. Если действие имеет значение None, то строки, ссылающиеся на удаляемую строку, также не будут удалены. Элемент OnDelete является дочерним элементом элемента End.

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

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

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

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

Action

Да

Cascade или None. (Значение Restricted является допустимым, но имеет то же значение, что и None.)

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

Пример

В следующем примере показан элемент Association, определяющий ограничение внешнего ключа FK_CustomerOrders. Элемент OnDelete указывает, что все строки в таблице Orders, которая ссылается на отдельную строку в таблице Customers, будут удалены при удалении строки в таблице Customers.

<Association Name="FK_CustomerOrders">
  <End Role="Customers" 
       Type="ExampleModel.Store.Customers" Multiplicity="1">
    <OnDelete Action="Cascade" />
  </End>
  <End Role="Orders" 
       Type="ExampleModel.Store.Orders" Multiplicity="*" />
  <ReferentialConstraint>
    <Principal Role="Customers">
      <PropertyRef Name="CustomerId" />
    </Principal>
    <Dependent Role="Orders">
      <PropertyRef Name="CustomerId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

См. также

Основные понятия

Общие сведения о платформе Entity Framework
Спецификация языка SSDL

Другие ресурсы

Спецификации языка CSDL, SSDL и MSL
ADO.NET Entity Data Model Tools