ForeignKeyConstraint Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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.