ForeignKeyConstraint Classe

Definição

Representa uma restrição de ação imposta em um conjunto de colunas em uma relação de chave estrangeira/chave primária quando um valor ou uma linha é excluída ou atualizada.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
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
    inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
Herança
ForeignKeyConstraint
Atributos

Exemplos

O exemplo a seguir cria ForeignKeyConstraintum, define algumas de suas propriedades e adiciona-o a DataTable um objeto ConstraintCollection.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

Comentários

Um ForeignKeyConstraint restringe a ação executada quando um valor em uma coluna (ou colunas) é excluído ou atualizado.A ForeignKeyConstraint restricts the action performed when a value in a column (or columns) is either deleted or updated. Essa restrição é destinada a ser usada com colunas de chave primária.Such a constraint is intended to be used with primary key columns. Em uma relação pai/filho entre duas tabelas, a exclusão de um valor da tabela pai pode afetar as linhas filho de uma das maneiras a seguir.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.

  • As linhas filho também podem ser excluídas (uma ação em cascata).The child rows can also be deleted (a cascading action).

  • Os valores na coluna filho (ou colunas) podem ser definidos como valores nulos.The values in the child column (or columns) can be set to null values.

  • Os valores na coluna filho (ou colunas) podem ser definidos como valores padrão.The values in the child column (or columns) can be set to default values.

  • Uma exceção pode ser gerada.An exception can be generated.

ForeignKeyConstraintos objetos estão contidos no ConstraintCollection de a DataTable, que é acessado Constraints por meio da propriedade.ForeignKeyConstraint objects are contained in the ConstraintCollection of a DataTable, which is accessed through the Constraints property.

As restrições não são impostas, EnforceConstraints a menos que a truePropriedade esteja definida como.Constraints are not enforced unless the EnforceConstraints property is set to true.

O AcceptRejectRule é imposto sempre que o método DataTable de AcceptChanges um objeto é invocado.The AcceptRejectRule is enforced whenever a DataTable object's AcceptChanges method is invoked.

Construtores

ForeignKeyConstraint(DataColumn, DataColumn)

Inicializa uma nova instância da classe ForeignKeyConstraint com os objetos DataColumn pai e filho especificados.Initializes a new instance of the ForeignKeyConstraint class with the specified parent and child DataColumn objects.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Inicializa uma nova instância da classe ForeignKeyConstraint com as matrizes especificadas de objetos DataColumn pai e filho.Initializes a new instance of the ForeignKeyConstraint class with the specified arrays of parent and child DataColumn objects.

ForeignKeyConstraint(String, DataColumn, DataColumn)

Inicializa uma nova instância da classe ForeignKeyConstraint com o nome especificado e objetos DataColumn pai e filho.Initializes a new instance of the ForeignKeyConstraint class with the specified name, parent and child DataColumn objects.

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

Inicializa uma nova instância da classe ForeignKeyConstraint com o nome especificado, bem como matrizes de objetos DataColumn pai e filho.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)

Este construtor é fornecido para suporte de tempo de design no ambiente do Visual Studio.This constructor is provided for design time support in the Visual Studio environment. Os objetos ForeignKeyConstraint criados usando este construtor, em seguida, devem ser adicionados à coleção via AddRange(Constraint[]).ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). Tabelas e colunas com os nomes especificados devem existir no momento em que o método é chamado ou se BeginInit() foi chamado antes de se chamar este construtor, as tabelas e colunas com os nomes especificados devem existir no momento em que EndInit() é chamado.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)

Este construtor é fornecido para suporte de tempo de design no ambiente do Visual Studio.This constructor is provided for design time support in the Visual Studio environment. Os objetos ForeignKeyConstraint criados usando este construtor, em seguida, devem ser adicionados à coleção via AddRange(Constraint[]).ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). Tabelas e colunas com os nomes especificados devem existir no momento em que o método é chamado ou se BeginInit() foi chamado antes de se chamar este construtor, as tabelas e colunas com os nomes especificados devem existir no momento em que EndInit() é chamado.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.

Propriedades

_DataSet

Obtém o DataSet ao qual esta restrição pertence.Gets the DataSet to which this constraint belongs.

(Herdado de Constraint)
AcceptRejectRule

Indica a ação que deve ocorrer por essa restrição quando AcceptChanges() é invocado.Indicates the action that should take place across this constraint when AcceptChanges() is invoked.

Columns

Obtém as colunas filho dessa restrição.Gets the child columns of this constraint.

ConstraintName

O nome de uma restrição no ConstraintCollection.The name of a constraint in the ConstraintCollection.

(Herdado de Constraint)
DeleteRule

Obtém ou define a ação que ocorre nessa restrição quando uma linha é excluída.Gets or sets the action that occurs across this constraint when a row is deleted.

ExtendedProperties

Obtém a coleção de propriedades de restrição definidas pelo usuário.Gets the collection of user-defined constraint properties.

(Herdado de Constraint)
RelatedColumns

As colunas pai dessa restrição.The parent columns of this constraint.

RelatedTable

Obtém a tabela pai dessa restrição.Gets the parent table of this constraint.

Table

Obtém a tabela filho dessa restrição.Gets the child table of this constraint.

UpdateRule

Obtém ou define a ação que ocorre nessa restrição quando uma linha é atualizada.Gets or sets the action that occurs across this constraint on when a row is updated.

Métodos

CheckStateForProperty()

Obtém o DataSet ao qual esta restrição pertence.Gets the DataSet to which this constraint belongs.

(Herdado de Constraint)
Equals(Object)

Obtém um valor que indica se o ForeignKeyConstraint atual é idêntico ao objeto especificado.Gets a value indicating whether the current ForeignKeyConstraint is identical to the specified object.

GetHashCode()

Obtém o código hash desta instância do objeto ForeignKeyConstraint.Gets the hash code of this instance of the ForeignKeyConstraint object.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
SetDataSet(DataSet)

Define o DataSet da restrição.Sets the constraint's DataSet.

(Herdado de Constraint)
ToString()

Obtém o ConstraintName, se houver um, como uma cadeia de caracteres.Gets the ConstraintName, if there is one, as a string.

(Herdado de Constraint)

Aplica-se a

Acesso thread-safe

Este tipo é seguro para operações de leitura e multithread.This type is safe for multithreaded read operations. Você deve sincronizar todas as operações de gravação.You must synchronize any write operations.

Veja também