ForeignKeyConstraint.DeleteRule Свойство

Определение

Возвращает или задает действие, которое происходит в пределах этого ограничения при удалении строки.Gets or sets the action that occurs across this constraint when a row is deleted.

public:
 virtual property System::Data::Rule DeleteRule { System::Data::Rule get(); void set(System::Data::Rule value); };
[System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")]
public virtual System.Data.Rule DeleteRule { get; set; }
member this.DeleteRule : System.Data.Rule with get, set
Public Overridable Property DeleteRule As Rule

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

Одно из значений перечисления Rule.One of the Rule values. Значение по умолчанию — Cascade.The default is Cascade.

Атрибуты

Примеры

В следующем примере создается объект ForeignKeyConstraint, устанавливаются различные его свойства и добавляется в ConstraintCollectionобъекта DataTable.The following example creates a ForeignKeyConstraint, sets various of its properties, and adds it to a DataTable object's 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 определяет, что произойдет в столбцах дочерней таблицы (или таблиц).When a row is deleted from a parent table, the DeleteRule determines what will happen in the columns of the child table (or tables). Если правило имеет значение Cascade, дочерние строки будут удалены.If the rule is set to Cascade, child rows will be deleted.

Если задано значение SetNull, DBNull будет помещен в соответствующие столбцы затронутых строк.If set to SetNull, a DBNull will be placed in the appropriate columns of the affected rows. В зависимости от источника данных значение NULL может быть или запрещено в столбце.Depending on your data source, a null value may or may not be permitted in a column. Например, SQL Server позволяет найти несколько значений NULL в столбце первичного ключа, даже если они не являются уникальными.For example, SQL Server allows multiple null values to be found in a primary key column, even if they are not unique. Однако в DataTable, если свойство Unique объекта DataColumn имеет значение true, в столбцах первичного ключа нельзя использовать несколько значений NULL.In a DataTable, however, if a DataColumn object's Unique property is set to true, multiple null values are not allowed in primary key columns.

Если задано значение SetDefault, значением столбца по умолчанию будет присвоение.If set to SetDefault, the default value for the column is assigned.

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