ConstraintCollection Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma coleção de restrições para um DataTable.
public ref class ConstraintCollection sealed : System::Data::InternalDataCollectionBase
public ref class ConstraintCollection : System::Data::InternalDataCollectionBase
public sealed class ConstraintCollection : System.Data.InternalDataCollectionBase
[System.Serializable]
public class ConstraintCollection : System.Data.InternalDataCollectionBase
type ConstraintCollection = class
inherit InternalDataCollectionBase
[<System.Serializable>]
type ConstraintCollection = class
inherit InternalDataCollectionBase
Public NotInheritable Class ConstraintCollection
Inherits InternalDataCollectionBase
Public Class ConstraintCollection
Inherits InternalDataCollectionBase
- Herança
- Atributos
Exemplos
O primeiro exemplo cria um DataTablee adiciona um DataColumn (com sua Unique propriedade definida true
como ) ao DataColumnCollection. O segundo exemplo cria um DataSet, dois DataTable objetos, quatro colunas e um DataRelation. A contagem de restrições é então impressa para mostrar que um ForeignKeyConstraint e um UniqueConstraint são criados quando um DataRelation é adicionado ao DataSet do DataRelationCollectionobjeto .
private void MakeTableWithUniqueConstraint()
{
DataTable table = new DataTable("table");
DataColumn column = new DataColumn("UniqueColumn");
column.Unique=true;
table.Columns.Add(column);
// Print count, name, and type.
Console.WriteLine("Constraints.Count "
+ table.Constraints.Count);
Console.WriteLine(table.Constraints[0].ConstraintName);
Console.WriteLine(table.Constraints[0].GetType() );
// Add a second unique column.
column = new DataColumn("UniqueColumn2");
column.Unique=true;
table.Columns.Add(column);
// Print info again.
Console.WriteLine("Constraints.Count "
+ table.Constraints.Count);
Console.WriteLine(table.Constraints[1].ConstraintName);
Console.WriteLine(table.Constraints[1].GetType() );
}
private void MakeTableWithForeignConstraint()
{
// Create a DataSet.
DataSet dataSet = new DataSet("dataSet");
// Make two tables.
DataTable customersTable= new DataTable("Customers");
DataTable ordersTable = new DataTable("Orders");
// Create four columns, two for each table.
DataColumn name = new DataColumn("Name");
DataColumn id = new DataColumn("ID");
DataColumn orderId = new DataColumn("OrderID");
DataColumn cDate = new DataColumn("OrderDate");
// Add columns to tables.
customersTable.Columns.Add(name);
customersTable.Columns.Add(id);
ordersTable.Columns.Add(orderId);
ordersTable.Columns.Add(cDate);
// Add tables to the DataSet.
dataSet.Tables.Add(customersTable);
dataSet.Tables.Add(ordersTable);
// Create a DataRelation for two of the columns.
DataRelation myRelation = new
DataRelation("CustomersOrders",id,orderId,true);
dataSet.Relations.Add(myRelation);
// Print TableName, Constraints.Count,
// ConstraintName and Type.
foreach(DataTable t in dataSet.Tables)
{
Console.WriteLine(t.TableName);
Console.WriteLine("Constraints.Count "
+ t.Constraints.Count);
Console.WriteLine("ParentRelations.Count "
+ t.ParentRelations.Count);
Console.WriteLine("ChildRelations.Count "
+ t.ChildRelations.Count);
foreach(Constraint cstrnt in t.Constraints)
{
Console.WriteLine(cstrnt.ConstraintName);
Console.WriteLine(cstrnt.GetType());
}
}
}
Private Sub MakeTableWithUniqueConstraint()
Dim table As New DataTable("table")
Dim column As New DataColumn("UniqueColumn")
column.Unique = True
table.Columns.Add(column)
' Print count, name, and type.
Console.WriteLine("Constraints.Count " _
+ table.Constraints.Count.ToString())
Console.WriteLine(table.Constraints(0).ConstraintName)
Console.WriteLine( _
table.Constraints(0).GetType().ToString())
' Add a second unique column.
column = New DataColumn("UniqueColumn2")
column.Unique = True
table.Columns.Add(column)
' Print info again.
Console.WriteLine("Constraints.Count " _
+ table.Constraints.Count.ToString())
Console.WriteLine(table.Constraints(1).ConstraintName)
Console.WriteLine( _
table.Constraints(1).GetType().ToString())
End Sub
Private Sub MakeTableWithForeignConstraint()
' Create a DataSet.
Dim dataSet As New DataSet("dataSet")
' Make two tables.
Dim customersTable As New DataTable("Customers")
Dim ordersTable As New DataTable("Orders")
' Create four columns, two for each table.
Dim name As New DataColumn("Name")
Dim id As New DataColumn("ID")
Dim orderId As New DataColumn("OrderID")
Dim orderDate As New DataColumn("OrderDate")
' Add columns to tables.
customersTable.Columns.Add(name)
customersTable.Columns.Add(id)
ordersTable.Columns.Add(orderId)
ordersTable.Columns.Add(orderDate)
' Add tables to the DataSet.
dataSet.Tables.Add(customersTable)
dataSet.Tables.Add(ordersTable)
' Create a DataRelation for two of the columns.
Dim myRelation As New DataRelation _
("CustomersOrders", id, orderId, True)
dataSet.Relations.Add(myRelation)
' Print TableName, Constraints.Count,
' ConstraintName and Type.
Dim t As DataTable
For Each t In dataSet.Tables
Console.WriteLine(t.TableName)
Console.WriteLine("Constraints.Count " _
+ t.Constraints.Count.ToString())
Console.WriteLine("ParentRelations.Count " _
+ t.ParentRelations.Count.ToString())
Console.WriteLine("ChildRelations.Count " _
+ t.ChildRelations.Count.ToString())
Dim cstrnt As Constraint
For Each cstrnt In t.Constraints
Console.WriteLine(cstrnt.ConstraintName)
Console.WriteLine(cstrnt.GetType())
Next cstrnt
Next t
End Sub
Comentários
O ConstraintCollection é acessado por meio da DataTable.Constraints propriedade .
O ConstraintCollection pode conter objetos UniqueConstraint e ForeignKeyConstraint para o DataTable. Um UniqueConstraint objeto garante que os dados em uma coluna específica sejam sempre exclusivos para preservar a integridade dos dados. O ForeignKeyConstraint determina o que ocorrerá em tabelas relacionadas quando os DataTable dados no forem atualizados ou excluídos. Por exemplo, se uma linha for excluída, o ForeignKeyConstraint determinará se as linhas relacionadas também serão excluídas (uma cascata) ou algum outro curso de ação.
Observação
Quando você adiciona um DataRelation que cria uma relação entre duas tabelas a um DataSet, um ForeignKeyConstraint e um UniqueConstraint são criados automaticamente. O UniqueConstraint é aplicado à coluna de chave primária no pai DataTablee a restrição é adicionada a essa tabela.ConstraintCollection O ForeignKeyConstraint é aplicado à coluna de chave primária e à coluna de chave estrangeira, e a restrição é adicionada ao da ConstraintCollectiontabela filho.
O ConstraintCollection usa métodos de coleção padrão, como Add, Cleare Remove. Além disso, o Contains método pode ser usado para procurar a existência de uma restrição específica na coleção.
Um UniqueConstraint é criado quando um DataColumn com sua Unique propriedade definida como true
é adicionado ao de DataColumnCollectionum DataTable objeto .
Um ForeignKeyConstraint é criado quando um DataRelation é adicionado ao de DataRelationCollectionum DataSet objeto .
Propriedades
Count |
Obtém o número total de elementos em uma coleção. (Herdado de InternalDataCollectionBase) |
IsReadOnly |
Obtém um valor que indica se o InternalDataCollectionBase é somente leitura. (Herdado de InternalDataCollectionBase) |
IsSynchronized |
Obtém um valor que indica se o InternalDataCollectionBase é sincronizado. (Herdado de InternalDataCollectionBase) |
Item[Int32] |
Obtém o Constraint da coleção no índice especificado. |
Item[String] |
Obtém o Constraint da coleção com o nome especificado. |
List |
Obtém os itens da coleção como uma lista. |
List |
Obtém os itens da coleção como uma lista. (Herdado de InternalDataCollectionBase) |
SyncRoot |
Obtém um objeto que pode ser usado para sincronizar a coleção. (Herdado de InternalDataCollectionBase) |
Métodos
Add(Constraint) |
Adiciona o objeto Constraint especificado à coleção. |
Add(String, DataColumn, Boolean) |
Constrói um novo UniqueConstraint com o nome especificado, DataColumn e o valor que indica se a coluna é uma chave primária e o adiciona à coleção. |
Add(String, DataColumn, DataColumn) |
Constrói um novo ForeignKeyConstraint com o nome, coluna pai e coluna filha especificados e adiciona a restrição à coleção. |
Add(String, DataColumn[], Boolean) |
Constrói um novo UniqueConstraint com o nome especificado, uma matriz de objetos DataColumn e o valor que indica se a coluna é uma chave primária e o adiciona à coleção. |
Add(String, DataColumn[], DataColumn[]) |
Constrói um novo ForeignKeyConstraint, com as matrizes especificadas de colunas pai e colunas filha e adiciona a restrição à coleção. |
AddRange(Constraint[]) |
Copia os elementos da matriz ConstraintCollection especificada para o fim da coleção. |
CanRemove(Constraint) |
Indica se um Constraint pode ser removido. |
Clear() |
Limpa a coleção de todos os objetos Constraint. |
Contains(String) |
Indica se o objeto Constraint especificado pelo nome existe na coleção. |
CopyTo(Array, Int32) |
Copia todos os elementos do InternalDataCollectionBase atual para um Array unidimensional, começando no índice InternalDataCollectionBase especificado. (Herdado de InternalDataCollectionBase) |
CopyTo(Constraint[], Int32) |
Copia os objetos de coleção para uma instância Array unidimensional começando no índice especificado. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetEnumerator() |
Obtém um IEnumerator para a coleção. (Herdado de InternalDataCollectionBase) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
IndexOf(Constraint) |
Obtém o índice do Constraint especificado. |
IndexOf(String) |
Obtém o índice do Constraint especificado por nome. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
OnCollectionChanged(CollectionChangeEventArgs) |
Aciona o evento CollectionChanged. |
Remove(Constraint) |
Remove o Constraint especificado da coleção. |
Remove(String) |
Remove o objeto Constraint especificado por nome da coleção. |
RemoveAt(Int32) |
Remove o objeto Constraint no índice especificado da coleção. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Eventos
CollectionChanged |
Ocorre sempre que o ConstraintCollection é alterado devido objetos Constraint que sendo adicionados ou removidos. |
Métodos de Extensão
Cast<TResult>(IEnumerable) |
Converte os elementos de um IEnumerable para o tipo especificado. |
OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base em um tipo especificado. |
AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta. |
AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable. |
Aplica-se a
Acesso thread-safe
Este tipo é seguro para operações de leitura e multithread. Você deve sincronizar todas as operações de gravação.