ForeignKeyConstraint.DeleteRule Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает действие, которое происходит в пределах этого ограничения при удалении строки.
public:
virtual property System::Data::Rule DeleteRule { System::Data::Rule get(); void set(System::Data::Rule value); };
public virtual System.Data.Rule DeleteRule { get; set; }
[System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")]
public virtual System.Data.Rule DeleteRule { get; set; }
member this.DeleteRule : System.Data.Rule with get, set
[<System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")>]
member this.DeleteRule : System.Data.Rule with get, set
Public Overridable Property DeleteRule As Rule
Значение свойства
Одно из значений перечисления Rule. Значение по умолчанию — Cascade
.
- Атрибуты
Примеры
В следующем примере создается объект ForeignKeyConstraint, задаются различные его свойства и добавляются в DataTable объект ConstraintCollection.
' 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
, назначается значение по умолчанию для столбца.