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объект , который задает некоторые его свойства и добавляет его в 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) |
Применяется к
Потокобезопасность
Этот тип является безопасным для многопоточных операций чтения. Необходимо синхронизировать все операции записи.