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


ForeignKeyConstraint Класс

Определение

Представляет ограничение, установленное для набора столбцов в отношении "первичный ключ/внешний ключ", на действия, выполняемые при удалении или обновлении значения или строки.

public ref class ForeignKeyConstraint : System::Data::Constraint
public class ForeignKeyConstraint : System.Data.Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
    inherit Constraint
[<System.Serializable>]
type ForeignKeyConstraint = class
    inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
Наследование
ForeignKeyConstraint
Атрибуты

Примеры

В следующем примере создается 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 fkeyConstraint As ForeignKeyConstraint

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

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

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

Комментарии

Ограничивает ForeignKeyConstraint действие, выполняемое при удалении или обновлении значения в столбце (или столбцах). Такое ограничение предназначено для использования с первичными ключевыми столбцами. В отношениях "родители-потомки" между двумя таблицами удаление значения из родительской таблицы может повлиять на дочерние строки одним из следующих способов.

  • Дочерние строки также можно удалить (каскадное действие).

  • Для значений в дочернем столбце (или столбцах) можно задать значения NULL.

  • Для значений в дочернем столбце (или столбцах) можно задать значения по умолчанию.

  • Может быть создано исключение.

ForeignKeyConstraint Объекты содержатся в объекте ConstraintCollectionDataTable, доступ к которому осуществляется через Constraints свойство .

Ограничения не применяются, если свойству EnforceConstraints не присвоено значение true.

Применяется AcceptRejectRule при каждом DataTable вызове AcceptChanges метода объекта.

Конструкторы

ForeignKeyConstraint(DataColumn, DataColumn)

Инициализирует новый экземпляр класса ForeignKeyConstraint с указанным родительским и дочерним объектами DataColumn.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Инициализирует новый экземпляр класса ForeignKeyConstraint указанным родительским и дочерним объектами DataColumn.

ForeignKeyConstraint(String, DataColumn, DataColumn)

Инициализирует новый экземпляр класса ForeignKeyConstraint с указанным именем и родительским и дочерним объектами DataColumn.

ForeignKeyConstraint(String, DataColumn[], DataColumn[])

Инициализирует новый экземпляр класса ForeignKeyConstraint с указанным именем и массивами родительских и дочерних объектов DataColumn.

ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Этот конструктор предназначен для поддержки режима разработки в среде Visual Studio. Объекты ForeignKeyConstraint, созданные с помощью этого конструктора, должны затем добавляться в коллекцию при помощи метода AddRange(Constraint[]). Таблицы и столбцы с указанными именами должны существовать во время вызова метода; если же метод BeginInit() был вызван до вызова этого конструктора, таблицы и столбцы с указанными именами должны существовать во время вызова метода EndInit().

ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Этот конструктор предназначен для поддержки режима разработки в среде Visual Studio. Объекты ForeignKeyConstraint, созданные с помощью этого конструктора, должны затем добавляться в коллекцию при помощи метода AddRange(Constraint[]). Таблицы и столбцы с указанными именами должны существовать во время вызова метода; если же метод BeginInit() был вызван до вызова этого конструктора, таблицы и столбцы с указанными именами должны существовать во время вызова метода EndInit().

Свойства

_DataSet

Возвращает объект DataSet, которому принадлежит данное ограничение.

(Унаследовано от Constraint)
AcceptRejectRule

Указывает действие, которое должно быть выполнено в связи с этим ограничением при вызове метода AcceptChanges().

Columns

Возвращает дочерние столбцы этого ограничения.

ConstraintName

Имя ограничения в ConstraintCollection.

(Унаследовано от Constraint)
DeleteRule

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

ExtendedProperties

Возвращает коллекцию определенных пользователем свойств ограничений.

(Унаследовано от Constraint)
RelatedColumns

Родительские столбцы этого ограничения.

RelatedTable

Возвращает родительскую таблицу этого ограничения.

Table

Возвращает дочернюю таблицу этого ограничения.

UpdateRule

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

Методы

CheckStateForProperty()

Возвращает объект DataSet, которому принадлежит данное ограничение.

(Унаследовано от Constraint)
Equals(Object)

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

GetHashCode()

Возвращает хэш-код этого экземпляра объекта ForeignKeyConstraint.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
SetDataSet(DataSet)

Задает объект DataSet ограничения.

(Унаследовано от Constraint)
ToString()

Возвращает свойство ConstraintName, если оно существует, в виде строки.

(Унаследовано от Constraint)

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

Потокобезопасность

Этот тип является безопасным для многопоточных операций чтения. Необходимо синхронизировать все операции записи.

См. также раздел