ForeignKeyConstraint Classe

Definição

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

public ref class ForeignKeyConstraint : System::Data::Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
public class ForeignKeyConstraint : System.Data.Constraint
[<System.Serializable>]
type ForeignKeyConstraint = class
    inherit Constraint
type ForeignKeyConstraint = class
    inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
Herança
ForeignKeyConstraint
Atributos

Exemplos

O exemplo seguinte cria um ForeignKeyConstraint, define algumas das suas propriedades e adiciona-o ao DataTableConstraintCollection.

' 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

Observações

A ForeignKeyConstraint restringe a ação realizada quando um valor numa coluna (ou colunas) é eliminado ou atualizado. Tal restrição destina-se a ser usada com colunas de chave primárias. Numa relação pai/filho entre duas tabelas, eliminar um valor da tabela pai pode afetar as linhas filhas de uma das seguintes formas.

  • As linhas filhas também podem ser eliminadas (uma ação em cascata).

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

  • Os valores na coluna (ou colunas) filhos podem ser definidos para valores predefinidos.

  • Pode ser gerada uma exceção.

ForeignKeyConstraint os objetos estão contidos no ConstraintCollection de um DataTable, que é acedido através da Constraints propriedade.

As restrições não são aplicadas a menos que a EnforceConstraints propriedade esteja definida como true.

O AcceptRejectRule é aplicado sempre que o método de AcceptChanges um DataTable objeto é invocado.

Construtores

Name 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 os arrays especificados de objetos pai e filho DataColumn .

ForeignKeyConstraint(String, DataColumn, DataColumn)

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

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

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

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

Este construtor é fornecido para suporte em tempo de design no ambiente Visual Studio. ForeignKeyConstraint Os objetos criados usando este construtor devem então ser adicionados à coleção via 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 este construtor, as tabelas e colunas com os nomes especificados devem existir no momento em que EndInit() é chamado.

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

Este construtor é fornecido para suporte em tempo de design no ambiente Visual Studio. ForeignKeyConstraint Os objetos criados usando este construtor devem então ser adicionados à coleção via 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 este construtor, as tabelas e colunas com os nomes especificados devem existir no momento em que EndInit() é chamado.

Propriedades

Name Description
_DataSet

Obtém a DataSet que esta restrição pertence.

(Herdado de Constraint)
AcceptRejectRule

Indica a ação que deve ocorrer através desta restrição quando AcceptChanges() é invocada.

Columns

Obtém as colunas filhos desta restrição.

ConstraintName

O nome de uma restrição no ConstraintCollection.

(Herdado de Constraint)
DeleteRule

Obtém ou define a ação que ocorre através desta restrição quando uma linha é eliminada.

ExtendedProperties

Obtém o conjunto de propriedades de restrições definidas pelo utilizador.

(Herdado de Constraint)
RelatedColumns

As colunas pais desta restrição.

RelatedTable

Obtém a tabela principal desta restrição.

Table

Obtém a tabela filha desta restrição.

UpdateRule

Obtém ou define a ação que ocorre através desta restrição quando uma linha é atualizada.

Métodos

Name Description
CheckStateForProperty()

Obtém a DataSet que esta 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 atual Object.

(Herdado de Object)
SetDataSet(DataSet)

Define as DataSetrestrições .

(Herdado de Constraint)
ToString()

Obtém o ConstraintName, se houver um, como uma corda.

(Herdado de Constraint)

Aplica-se a

Segurança de Thread

Este tipo é seguro para operações de leitura multithread. Tem de sincronizar quaisquer operações de escrita.

Ver também