ForeignKeyConstraint.DeleteRule Свойство

Определение

Возвращает или задает действие, которое происходит в пределах этого ограничения при удалении строки.

C#
public virtual System.Data.Rule DeleteRule { get; set; }
C#
[System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")]
public virtual System.Data.Rule DeleteRule { get; set; }

Значение свойства

Одно из значений перечисления Rule. Значение по умолчанию — Cascade.

Атрибуты

Примеры

В следующем примере создается объект ForeignKeyConstraint, задаются различные его свойства и добавляются в DataTable объект ConstraintCollection.

VB
' The next line goes into the Declarations section of the module:
' SuppliersProducts is a class derived from DataSet.
Private suppliersProducts As SuppliersProducts 

Private Sub CreateConstraint()
   ' Declare parent column and child column variables.
   Dim parentColumn As DataColumn
   Dim childColumn As DataColumn
   Dim fkConstraint As ForeignKeyConstraint

   ' Set parent and child column variables.
   parentColumn = suppliersProducts.Tables("Suppliers").Columns("SupplierID")
   childColumn = suppliersProducts.Tables("Products").Columns("SupplieriD")
   fkConstraint = New ForeignKeyConstraint( _
       "SuppierFKConstraint", parentColumn, childColumn)

   ' Set null values when a value is deleted.
   fkConstraint.DeleteRule = Rule.SetNull
   fkConstraint.UpdateRule = Rule.Cascade
   fkConstraint.AcceptRejectRule = AcceptRejectRule.Cascade

   ' Add the constraint, and set EnforceConstraints to true.
   suppliersProducts.Tables("Suppliers").Constraints.Add(fkConstraint)
   suppliersProducts.EnforceConstraints = True
End Sub

Комментарии

При удалении строки из родительской таблицы определяет, DeleteRule что произойдет в столбцах дочерней таблицы (или таблиц). Если для правила задано значение Cascade, дочерние строки будут удалены.

Если задано значение SetNull, DBNull объект будет помещен в соответствующие столбцы затронутых строк. В зависимости от источника данных в столбце может быть разрешено значение NULL. Например, SQL Server позволяет находить несколько значений NULL в столбце первичного ключа, даже если они не являются уникальными. DataTableОднако если свойство объекта Unique имеет значение true, в столбцах первичного DataColumn ключа не допускаются несколько значений NULL.

Если задано значение SetDefault, назначается значение по умолчанию для столбца.

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1