ConstraintCollection ConstraintCollection ConstraintCollection ConstraintCollection Class

Définition

Représente une collection de contraintes pour DataTable.Represents a collection of constraints for a DataTable.

public ref class ConstraintCollection sealed : System::Data::InternalDataCollectionBase
[System.Serializable]
public sealed class ConstraintCollection : System.Data.InternalDataCollectionBase
type ConstraintCollection = class
    inherit InternalDataCollectionBase
Public NotInheritable Class ConstraintCollection
Inherits InternalDataCollectionBase
Héritage
Attributs

Exemples

Le premier exemple crée un DataTableet ajoute un DataColumn (avec son Unique propriété définie sur true) pour le DataColumnCollection.The first example creates a DataTable, and adds a DataColumn (with its Unique property set to true) to the DataColumnCollection. Le deuxième exemple crée un DataSet, deux DataTable objets, quatre colonnes et un DataRelation.The second example creates a DataSet, two DataTable objects, four columns, and a DataRelation. Le nombre de contraintes est ensuite affiché pour indiquer qu’un ForeignKeyConstraint et un UniqueConstraint sont créés quand un DataRelation est ajouté à la DataSet l’objet DataRelationCollection.The count of constraints is then printed to show that a ForeignKeyConstraint and a UniqueConstraint are created when a DataRelation is added to the DataSet object's 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

Remarques

Le ConstraintCollection est accessible via la DataTable.Constraints propriété.The ConstraintCollection is accessed through the DataTable.Constraints property.

Le ConstraintCollection peut contenir à la fois UniqueConstraint et ForeignKeyConstraint des objets pour le DataTable.The ConstraintCollection can contain both UniqueConstraint and ForeignKeyConstraint objects for the DataTable. Un UniqueConstraint objet permet de s’assurer que les données dans une colonne spécifique sont toujours uniques afin de préserver l’intégrité des données.A UniqueConstraint object makes sure that data in a specific column is always unique to preserve the data integrity. Le ForeignKeyConstraint détermine ce qui se produira dans associées des tables quand les données dans le DataTable est mis à jour ou supprimé.The ForeignKeyConstraint determines what will occur in related tables when data in the DataTable is either updated or deleted. Par exemple, si une ligne est supprimée, le ForeignKeyConstraint déterminera si les lignes associées sont également supprimées (en cascade), ou certaines autres marche à suivre.For example, if a row is deleted, the ForeignKeyConstraint will determine whether the related rows are also deleted (a cascade), or some other course of action.

Notes

Lorsque vous ajoutez un DataRelation qui crée une relation entre deux tables à une DataSet, à la fois un ForeignKeyConstraint et un UniqueConstraint sont créés automatiquement.When you add a DataRelation that creates a relationship between two tables to a DataSet, both a ForeignKeyConstraint and a UniqueConstraint are created automatically. Le UniqueConstraint est appliqué à la colonne de clé primaire de la page parente DataTable, et la contrainte est ajoutée à cette table ConstraintCollection.The UniqueConstraint is applied to the primary key column in the parent DataTable, and the constraint is added to that table's ConstraintCollection. Le ForeignKeyConstraint est appliqué à la colonne clé primaire et la colonne de clé étrangère, et la contrainte est ajoutée à la table enfant ConstraintCollection.The ForeignKeyConstraint is applied to the primary key column and the foreign key column, and the constraint is added to the child table's ConstraintCollection.

Le ConstraintCollection utilise des méthodes de collection standard telles que Add, Clear, et Remove.The ConstraintCollection uses standard collection methods such as Add, Clear, and Remove. En outre, le Contains méthode peut être utilisée pour rechercher l’existence d’une contrainte particulière dans la collection.In addition, the Contains method can be used to look for the existence of a particular constraint in the collection.

Un UniqueConstraint est créé lorsque une DataColumn avec son Unique propriété définie sur true est ajouté à un DataTable l’objet DataColumnCollection.A UniqueConstraint is created when a DataColumn with its Unique property set to true is added to a DataTable object's DataColumnCollection.

Un ForeignKeyConstraint est créé lorsque une DataRelation est ajouté à un DataSet l’objet DataRelationCollection.A ForeignKeyConstraint is created when a DataRelation is added to a DataSet object's DataRelationCollection.

Propriétés

Count Count Count Count

Obtient le nombre total d'éléments dans une collection.Gets the total number of elements in a collection.

(Inherited from InternalDataCollectionBase)
IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Obtient une valeur qui indique si l'objet InternalDataCollectionBase est en lecture seule.Gets a value that indicates whether the InternalDataCollectionBase is read-only.

(Inherited from InternalDataCollectionBase)
IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Obtient une valeur qui indique si l’objet InternalDataCollectionBase est synchronisé.Gets a value that indicates whether the InternalDataCollectionBase is synchronized.

(Inherited from InternalDataCollectionBase)
Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Obtient Constraint à partir de la collection, à l'index spécifié.Gets the Constraint from the collection at the specified index.

Item[String] Item[String] Item[String] Item[String]

Obtient de la collection le Constraint portant le nom spécifié.Gets the Constraint from the collection with the specified name.

List List List List

Obtient les éléments de la collection sous la forme d'une liste.Gets the items of the collection as a list.

(Inherited from InternalDataCollectionBase)
SyncRoot SyncRoot SyncRoot SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser la collection.Gets an object that can be used to synchronize the collection.

(Inherited from InternalDataCollectionBase)

Méthodes

Add(Constraint) Add(Constraint) Add(Constraint) Add(Constraint)

Ajoute l'objet Constraint spécifié à la collection.Adds the specified Constraint object to the collection.

Add(String, DataColumn, Boolean) Add(String, DataColumn, Boolean) Add(String, DataColumn, Boolean) Add(String, DataColumn, Boolean)

Construit un nouveau UniqueConstraint portant le nom spécifié, DataColumn, ainsi qu'une valeur qui indique si la colonne est une clé primaire et l'ajoute à la collection.Constructs a new UniqueConstraint with the specified name, DataColumn, and value that indicates whether the column is a primary key, and adds it to the collection.

Add(String, DataColumn, DataColumn) Add(String, DataColumn, DataColumn) Add(String, DataColumn, DataColumn) Add(String, DataColumn, DataColumn)

Construit un nouveau ForeignKeyConstraint avec le nom, la colonne parente et la colonne enfant spécifiés, puis ajoute la contrainte à la collection.Constructs a new ForeignKeyConstraint with the specified name, parent column, and child column, and adds the constraint to the collection.

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

Construit un nouveau UniqueConstraint avec le nom, le tableau d'objets DataColumn et la valeur spécifiés, qui indique s'il s'agit d'une colonne de clé primaire, et l'ajoute à la collection.Constructs a new UniqueConstraint with the specified name, array of DataColumn objects, and value that indicates whether the column is a primary key, and adds it to the collection.

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

Construit un nouveau ForeignKeyConstraint avec les tableaux de colonnes enfants et parentes spécifiés, puis ajoute la contrainte à la collection.Constructs a new ForeignKeyConstraint, with the specified arrays of parent columns and child columns, and adds the constraint to the collection.

AddRange(Constraint[]) AddRange(Constraint[]) AddRange(Constraint[]) AddRange(Constraint[])

Copie les éléments du tableau ConstraintCollection spécifié à la fin de la collection.Copies the elements of the specified ConstraintCollection array to the end of the collection.

CanRemove(Constraint) CanRemove(Constraint) CanRemove(Constraint) CanRemove(Constraint)

Indique si Constraint peut être supprimé.Indicates whether a Constraint can be removed.

Clear() Clear() Clear() Clear()

Efface de la collection tout objet Constraint.Clears the collection of any Constraint objects.

Contains(String) Contains(String) Contains(String) Contains(String)

Indique si l'objet Constraint spécifié par son nom existe dans la collection.Indicates whether the Constraint object specified by name exists in the collection.

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Copie tous les éléments du InternalDataCollectionBase en cours dans un Array unidimensionnel, en commençant à l'index InternalDataCollectionBase spécifié.Copies all the elements of the current InternalDataCollectionBase to a one-dimensional Array, starting at the specified InternalDataCollectionBase index.

(Inherited from InternalDataCollectionBase)
CopyTo(Constraint[], Int32) CopyTo(Constraint[], Int32) CopyTo(Constraint[], Int32) CopyTo(Constraint[], Int32)

Copie les objets de collection dans une instance unidimensionnelle Array en commençant à l'index spécifié.Copies the collection objects to a one-dimensional Array instance starting at the specified index.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Obtient un IEnumerator de la collection.Gets an IEnumerator for the collection.

(Inherited from InternalDataCollectionBase)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(Constraint) IndexOf(Constraint) IndexOf(Constraint) IndexOf(Constraint)

Obtient l'index du Constraint spécifié.Gets the index of the specified Constraint.

IndexOf(String) IndexOf(String) IndexOf(String) IndexOf(String)

Obtient l'index du Constraint spécifié par son nom.Gets the index of the Constraint specified by name.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(Constraint) Remove(Constraint) Remove(Constraint) Remove(Constraint)

Supprime l’objet Constraint spécifié de la collection.Removes the specified Constraint from the collection.

Remove(String) Remove(String) Remove(String) Remove(String)

Supprime de la collection l'objet Constraint spécifié par son nom.Removes the Constraint object specified by name from the collection.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Supprime de la collection l'objet Constraint à l'index spécifié.Removes the Constraint object at the specified index from the collection.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Événements

CollectionChanged CollectionChanged CollectionChanged CollectionChanged

Se produit chaque fois que ConstraintCollection est modifié en raison de l'ajout ou de la suppression d'objets Constraint.Occurs whenever the ConstraintCollection is changed because of Constraint objects being added or removed.

Méthodes d’extension

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Convertit un IEnumerable à un IQueryable.Converts an IEnumerable to an IQueryable.

S’applique à

Cohérence de thread

Ce type est sécurisé pour les opérations de lecture multithreads.This type is safe for multithreaded read operations. Vous devez synchroniser des opérations d’écriture.You must synchronize any write operations.

Voir aussi