Compartir por


ConstraintCollection Clase

Definición

Representa una colección de restricciones para .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
Herencia
ConstraintCollection
Atributos

Ejemplos

En el primer ejemplo se crea un DataTabley se agrega DataColumn un objeto (con su Unique propiedad establecida trueen ) a .DataColumnCollection En el segundo ejemplo se crea un DataSet, dos DataTable objetos, cuatro columnas y un DataRelation. A continuación, se imprime el recuento de restricciones para mostrar que ForeignKeyConstraint y UniqueConstraint se crean cuando se agrega un DataRelation objeto al DataSet objeto DataRelationCollection.

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

Comentarios

ConstraintCollection Se accede a a través de la DataTable.Constraints propiedad .

ConstraintCollection puede contener objetos y UniqueConstraintForeignKeyConstraint para .DataTable Un UniqueConstraint objeto garantiza que los datos de una columna específica siempre son únicos para conservar la integridad de los datos. ForeignKeyConstraint determina lo que ocurrirá en las tablas relacionadas cuando los datos de se DataTable actualizan o eliminan. Por ejemplo, si se elimina una fila, ForeignKeyConstraint determinará si las filas relacionadas también se eliminan (una cascada) o algún otro curso de acción.

Nota:

Cuando se agrega un DataRelation objeto que crea una relación entre dos tablas a , DataSetse crean automáticamente y ForeignKeyConstraint .UniqueConstraint UniqueConstraint se aplica a la columna de clave principal del elemento primario DataTabley la restricción se agrega a la ConstraintCollectiontabla . ForeignKeyConstraint se aplica a la columna de clave principal y a la columna de clave externa, y la restricción se agrega a la tabla secundaria.ConstraintCollection

ConstraintCollection Usa métodos de colección estándar como Add, Cleary Remove. Además, el Contains método se puede usar para buscar la existencia de una restricción determinada en la colección.

UniqueConstraint Se crea cuando se agrega un DataColumn objeto con su Unique propiedad establecida en true a .DataTableDataColumnCollection

ForeignKeyConstraint Se crea cuando se agrega un DataRelation objeto a la clase de DataRelationCollectionun DataSet objeto .

Propiedades

Nombre Description
Count

Obtiene el número total de elementos de una colección.

(Heredado de InternalDataCollectionBase)
IsReadOnly

Obtiene un valor que indica si es InternalDataCollectionBase de solo lectura.

(Heredado de InternalDataCollectionBase)
IsSynchronized

Obtiene un valor que indica si InternalDataCollectionBase está sincronizado.

(Heredado de InternalDataCollectionBase)
Item[Int32]

Obtiene de Constraint la colección en el índice especificado.

Item[String]

Obtiene el Constraint objeto de la colección con el nombre especificado.

List

Obtiene los elementos de la colección como una lista.

List

Obtiene los elementos de la colección como una lista.

(Heredado de InternalDataCollectionBase)
SyncRoot

Obtiene un objeto que se puede usar para sincronizar la colección.

(Heredado de InternalDataCollectionBase)

Métodos

Nombre Description
Add(Constraint)

Agrega el objeto especificado Constraint a la colección.

Add(String, DataColumn, Boolean)

Construye un nuevo UniqueConstraint con el nombre especificado, DataColumn, y el valor que indica si la columna es una clave principal y la agrega a la colección.

Add(String, DataColumn, DataColumn)

Construye un nuevo ForeignKeyConstraint con el nombre especificado, la columna primaria y la columna secundaria, y agrega la restricción a la colección.

Add(String, DataColumn[], Boolean)

Construye un nuevo UniqueConstraint con el nombre, la matriz de DataColumn objetos y el valor especificados que indica si la columna es una clave principal y la agrega a la colección.

Add(String, DataColumn[], DataColumn[])

Construye un nuevo ForeignKeyConstraint, con las matrices especificadas de columnas primarias y columnas secundarias, y agrega la restricción a la colección.

AddRange(Constraint[])

Copia los elementos de la matriz especificada ConstraintCollection al final de la colección.

CanRemove(Constraint)

Indica si se puede quitar .Constraint

Clear()

Borra la colección de cualquier Constraint objeto .

Contains(String)

Indica si el Constraint objeto especificado por nombre existe en la colección.

CopyTo(Array, Int32)

Copia todos los elementos del actual InternalDataCollectionBase en una unidimensional Array, empezando por el índice especificado InternalDataCollectionBase .

(Heredado de InternalDataCollectionBase)
CopyTo(Constraint[], Int32)

Copia los objetos de colección en una instancia unidimensional Array a partir del índice especificado.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetEnumerator()

Obtiene un IEnumerator para la colección.

(Heredado de InternalDataCollectionBase)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IndexOf(Constraint)

Obtiene el índice del objeto especificado Constraint.

IndexOf(String)

Obtiene el índice del Constraint especificado por nombre.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnCollectionChanged(CollectionChangeEventArgs)

Genera el evento CollectionChanged.

Remove(Constraint)

Quita el especificado Constraint de la colección.

Remove(String)

Quita el Constraint objeto especificado por nombre de la colección.

RemoveAt(Int32)

Quita el Constraint objeto en el índice especificado de la colección.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

Nombre Description
CollectionChanged

Se produce cada vez que ConstraintCollection se cambia debido Constraint a que se agregan o quitan objetos.

Métodos de extensión

Nombre Description
AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte un IEnumerable en un IQueryable.

Cast<TResult>(IEnumerable)

Convierte los elementos de un IEnumerable al tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de un IEnumerable en función de un tipo especificado.

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para las operaciones de lectura multiproceso. Debe sincronizar las operaciones de escritura.

Consulte también