Partilhar via


ForeignKeyConstraint Classe

Definição

Representa uma restrição de ação imposta em um conjunto de colunas em uma relação chave primária/chave estrangeira quando um valor ou linha é excluído ou atualizado.

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
Herança
ForeignKeyConstraint
Atributos

Exemplos

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

Uma ForeignKeyConstraint restrição à ação executada quando um valor em uma coluna (ou colunas) é excluído ou atualizado. Essa restrição destina-se a ser usada com colunas de chave primária. Em uma relação pai/filho entre duas tabelas, excluir um valor da tabela pai pode afetar as linhas filho de uma das seguintes maneiras.

  • As linhas filho também podem ser excluídas (uma ação em cascata).

  • Os valores na coluna filho (ou colunas) podem ser definidos como valores nulos.

  • Os valores na coluna filho (ou colunas) podem ser definidos como valores padrão.

  • Uma exceção pode ser gerada.

ForeignKeyConstraint os objetos estão contidos no ConstraintCollection de um DataTable, que é acessado por meio da Constraints propriedade.

As restrições não são impostas, a menos que a EnforceConstraints propriedade seja definida como true.

Ele AcceptRejectRule é imposto sempre que o método de AcceptChanges um DataTable objeto é invocado.

Construtores

Nome Description
ForeignKeyConstraint(DataColumn, DataColumn)

Inicializa uma nova instância da ForeignKeyConstraint classe com os objetos pai e filho DataColumn especificados.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Inicializa uma nova instância da ForeignKeyConstraint classe com as matrizes especificadas de objetos pai e filho DataColumn .

ForeignKeyConstraint(String, DataColumn, DataColumn)

Inicializa uma nova instância da ForeignKeyConstraint classe com o nome, os objetos pai e filho DataColumn especificados.

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

Inicializa uma nova instância da ForeignKeyConstraint classe com o nome especificado e matrizes de objetos pai e filho DataColumn .

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

Esse construtor é fornecido para suporte a tempo de design no ambiente do Visual Studio. ForeignKeyConstraint os objetos criados usando esse construtor devem ser adicionados à coleção por meio de AddRange(Constraint[]). Tabelas e colunas com os nomes especificados devem existir no momento em que o método é chamado ou se BeginInit() tiver sido chamado antes de chamar esse construtor, as tabelas e colunas com os nomes especificados devem existir no momento em que EndInit() for chamado.

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

Esse construtor é fornecido para suporte a tempo de design no ambiente do Visual Studio. ForeignKeyConstraint os objetos criados usando esse construtor devem ser adicionados à coleção por meio de AddRange(Constraint[]). Tabelas e colunas com os nomes especificados devem existir no momento em que o método é chamado ou se BeginInit() tiver sido chamado antes de chamar esse construtor, as tabelas e colunas com os nomes especificados devem existir no momento em que EndInit() for chamado.

Propriedades

Nome Description
_DataSet

Obtém o DataSet ao qual essa restrição pertence.

(Herdado de Constraint)
AcceptRejectRule

Indica a ação que deve ocorrer em toda essa restrição quando AcceptChanges() é invocada.

Columns

Obtém as colunas filho dessa restrição.

ConstraintName

O nome de uma restrição no ConstraintCollection.

(Herdado de Constraint)
DeleteRule

Obtém ou define a ação que ocorre nessa restrição quando uma linha é excluída.

ExtendedProperties

Obtém a coleção de propriedades de restrição definidas pelo usuário.

(Herdado de Constraint)
RelatedColumns

As colunas pai dessa restrição.

RelatedTable

Obtém a tabela pai dessa restrição.

Table

Obtém a tabela filho dessa restrição.

UpdateRule

Obtém ou define a ação que ocorre em toda essa restrição quando uma linha é atualizada.

Métodos

Nome Description
CheckStateForProperty()

Obtém o DataSet ao qual essa restrição pertence.

(Herdado de Constraint)
Equals(Object)

Obtém um valor que indica se a corrente ForeignKeyConstraint é idêntica ao objeto especificado.

GetHashCode()

Obtém o código hash desta instância do ForeignKeyConstraint objeto.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
SetDataSet(DataSet)

Define a restrição.DataSet

(Herdado de Constraint)
ToString()

Obtém o ConstraintName, se houver um, como uma cadeia de caracteres.

(Herdado de Constraint)

Aplica-se a

Acesso thread-safe

Esse tipo é seguro para operações de leitura multithreaded. Você deve sincronizar todas as operações de gravação.

Confira também