ForeignKeyConstraint Класс

Определение

Представляет ограничение, установленное для набора столбцов в отношении "первичный ключ/внешний ключ", на действия, выполняемые при удалении или обновлении значения или строки.Represents an action restriction enforced on a set of columns in a primary key/foreign key relationship when a value or row is either deleted or updated.

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
Public Class ForeignKeyConstraint
Inherits Constraint
Наследование
ForeignKeyConstraint
Атрибуты

Примеры

В следующем примере создается ForeignKeyConstraint, устанавливаются некоторые из его свойств и добавляется в ConstraintCollectionобъекта DataTable.The following example creates a ForeignKeyConstraint, sets some 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 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 ограничивают действие, выполняемое, когда значение в столбце (или столбцах) удаляется или обновляется.A ForeignKeyConstraint restricts the action performed when a value in a column (or columns) is either deleted or updated. Такое ограничение предназначено для использования со столбцами первичного ключа.Such a constraint is intended to be used with primary key columns. В связи «родители-потомки» между двумя таблицами удаление значения из родительской таблицы может повлиять на дочерние строки одним из следующих способов.In a parent/child relationship between two tables, deleting a value from the parent table can affect the child rows in one of the following ways.

  • Дочерние строки также можно удалить (каскадное действие).The child rows can also be deleted (a cascading action).

  • Значения в дочернем столбце (или столбцах) могут быть заданы как значения NULL.The values in the child column (or columns) can be set to null values.

  • Значения в дочернем столбце (или столбцах) могут быть установлены в значения по умолчанию.The values in the child column (or columns) can be set to default values.

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

ForeignKeyConstraint объекты содержатся в ConstraintCollection DataTable, доступ к которым осуществляется через свойство Constraints.ForeignKeyConstraint objects are contained in the ConstraintCollection of a DataTable, which is accessed through the Constraints property.

Ограничения не применяются, если свойство EnforceConstraints не имеет значение true.Constraints are not enforced unless the EnforceConstraints property is set to true.

AcceptRejectRule применяется при вызове метода AcceptChanges объекта DataTable.The AcceptRejectRule is enforced whenever a DataTable object's AcceptChanges method is invoked.

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

ForeignKeyConstraint(DataColumn, DataColumn)

Инициализирует новый экземпляр класса ForeignKeyConstraint с указанным родительским и дочерним объектами DataColumn.Initializes a new instance of the ForeignKeyConstraint class with the specified parent and child DataColumn objects.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Инициализирует новый экземпляр класса ForeignKeyConstraint указанным родительским и дочерним объектами DataColumn.Initializes a new instance of the ForeignKeyConstraint class with the specified arrays of parent and child DataColumn objects.

ForeignKeyConstraint(String, DataColumn, DataColumn)

Инициализирует новый экземпляр класса ForeignKeyConstraint с указанным именем и родительским и дочерним объектами DataColumn.Initializes a new instance of the ForeignKeyConstraint class with the specified name, parent and child DataColumn objects.

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

Инициализирует новый экземпляр класса ForeignKeyConstraint с указанным именем и массивами родительских и дочерних объектов DataColumn.Initializes a new instance of the ForeignKeyConstraint class with the specified name, and arrays of parent and child DataColumn objects.

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

Этот конструктор предназначен для поддержки времени разработки в среде Visual Studio.This constructor is provided for design time support in the Visual Studio environment. Объекты ForeignKeyConstraint, созданные с помощью этого конструктора, должны затем добавляться в коллекцию при помощи метода AddRange(Constraint[]).ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). Таблицы и столбцы с указанными именами должны существовать во время вызова метода; если же метод BeginInit() был вызван до вызова этого конструктора, таблицы и столбцы с указанными именами должны существовать во время вызова метода EndInit().Tables and columns with the specified names must exist at the time the method is called, or if BeginInit() has been called prior to calling this constructor, the tables and columns with the specified names must exist at the time that EndInit() is called.

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

Этот конструктор предназначен для поддержки времени разработки в среде Visual Studio.This constructor is provided for design time support in the Visual Studio environment. Объекты ForeignKeyConstraint, созданные с помощью этого конструктора, должны затем добавляться в коллекцию при помощи метода AddRange(Constraint[]).ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). Таблицы и столбцы с указанными именами должны существовать во время вызова метода; если же метод BeginInit() был вызван до вызова этого конструктора, таблицы и столбцы с указанными именами должны существовать во время вызова метода EndInit().Tables and columns with the specified names must exist at the time the method is called, or if BeginInit() has been called prior to calling this constructor, the tables and columns with the specified names must exist at the time that EndInit() is called.

Свойства

_DataSet

Возвращает объект DataSet, которому принадлежит данное ограничение.Gets the DataSet to which this constraint belongs.

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

Указывает действие, которое должно быть выполнено в связи с этим ограничением при вызове метода AcceptChanges().Indicates the action that should take place across this constraint when AcceptChanges() is invoked.

Columns

Возвращает дочерние столбцы этого ограничения.Gets the child columns of this constraint.

ConstraintName

Имя ограничения в ConstraintCollection.The name of a constraint in the ConstraintCollection.

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

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

ExtendedProperties

Возвращает коллекцию определенных пользователем свойств ограничений.Gets the collection of user-defined constraint properties.

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

Родительские столбцы этого ограничения.The parent columns of this constraint.

RelatedTable

Возвращает родительскую таблицу этого ограничения.Gets the parent table of this constraint.

Table

Возвращает дочернюю таблицу этого ограничения.Gets the child table of this constraint.

UpdateRule

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

Методы

CheckStateForProperty()

Возвращает объект DataSet, которому принадлежит данное ограничение.Gets the DataSet to which this constraint belongs.

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

Возвращает значение,указывающее, идентичен ли текущий объект ForeignKeyConstraint указанному объекту.Gets a value indicating whether the current ForeignKeyConstraint is identical to the specified object.

GetHashCode()

Возвращает хэш-код этого экземпляра объекта ForeignKeyConstraint.Gets the hash code of this instance of the ForeignKeyConstraint object.

GetType()

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

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Задает объект DataSet ограничения.Sets the constraint's DataSet.

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

Возвращает свойство ConstraintName, если оно существует, в виде строки.Gets the ConstraintName, if there is one, as a string.

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

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

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

Этот тип является надежным для многопоточных операций чтения.This type is safe for multithreaded read operations. Необходимо синхронизировать любые операции записи.You must synchronize any write operations.

Дополнительно