ConstraintCollection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une collection de contraintes pour 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
- Héritage
- Attributs
Exemples
Le premier exemple crée un DataTableet ajoute un DataColumn (avec sa Unique propriété définie sur true
) au DataColumnCollection. Le deuxième exemple crée un DataSet, deux DataTable objets, quatre colonnes et un DataRelation. Le nombre de contraintes est ensuite imprimé pour indiquer qu’un et un sont créés lorsqu’un DataRelation est ajouté à l’objet DataSetDataRelationCollection.UniqueConstraintForeignKeyConstraint
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é .
le ConstraintCollection peut contenir à la fois des UniqueConstraint objets et ForeignKeyConstraint pour le DataTable. Un UniqueConstraint objet garantit que les données d’une colonne spécifique sont toujours uniques pour préserver l’intégrité des données. Détermine ForeignKeyConstraint ce qui se produit dans les tables associées lorsque les données du DataTable sont mises à jour ou supprimées. Par exemple, si une ligne est supprimée, le ForeignKeyConstraint détermine si les lignes associées sont également supprimées (une cascade) ou un autre plan d’action.
Notes
Lorsque vous ajoutez un DataRelation qui crée une relation entre deux tables à un DataSet, un ForeignKeyConstraint et un UniqueConstraint sont créés automatiquement. est UniqueConstraint appliqué à la colonne de clé primaire dans le parent DataTable, et la contrainte est ajoutée à la table .ConstraintCollection est ForeignKeyConstraint appliqué à la colonne de clé primaire et à la colonne clé étrangère, et la contrainte est ajoutée à la table ConstraintCollectionenfant.
utilise des ConstraintCollection méthodes de collection standard telles que Add, Clearet Remove. En outre, la Contains méthode peut être utilisée pour rechercher l’existence d’une contrainte particulière dans la collection.
Un UniqueConstraint est créé lorsqu’un DataColumn avec sa Unique propriété définie sur true
est ajouté à l’objet d’un DataTableDataColumnCollectionobjet .
Un ForeignKeyConstraint est créé lorsqu’un DataRelation est ajouté à l’objet DataRelationCollectionDataSet .
Propriétés
Count |
Obtient le nombre total d'éléments dans une collection. (Hérité de InternalDataCollectionBase) |
IsReadOnly |
Obtient une valeur qui indique si l’objet InternalDataCollectionBase est en lecture seule. (Hérité de InternalDataCollectionBase) |
IsSynchronized |
Obtient une valeur qui indique si l’objet InternalDataCollectionBase est synchronisé. (Hérité de InternalDataCollectionBase) |
Item[Int32] |
Obtient Constraint à partir de la collection, à l'index spécifié. |
Item[String] |
Obtient de la collection le Constraint portant le nom spécifié. |
List |
Obtient les éléments de la collection sous la forme d'une liste. |
List |
Obtient les éléments de la collection sous la forme d'une liste. (Hérité de InternalDataCollectionBase) |
SyncRoot |
Obtient un objet qui peut être utilisé pour synchroniser la collection. (Hérité de InternalDataCollectionBase) |
Méthodes
Add(Constraint) |
Ajoute l'objet Constraint spécifié à la collection. |
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. |
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. |
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. |
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. |
AddRange(Constraint[]) |
Copie les éléments du tableau ConstraintCollection spécifié à la fin de la collection. |
CanRemove(Constraint) |
Indique si Constraint peut être supprimé. |
Clear() |
Efface de la collection tout objet Constraint. |
Contains(String) |
Indique si l'objet Constraint spécifié par son nom existe dans la collection. |
CopyTo(Array, Int32) |
Copie tous les éléments du InternalDataCollectionBase en cours dans un Array unidimensionnel, en commençant à l'index InternalDataCollectionBase spécifié. (Hérité de InternalDataCollectionBase) |
CopyTo(Constraint[], Int32) |
Copie les objets de collection dans une instance unidimensionnelle Array en commençant à l'index spécifié. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetEnumerator() |
Obtient un IEnumerator de la collection. (Hérité de InternalDataCollectionBase) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
IndexOf(Constraint) |
Obtient l'index du Constraint spécifié. |
IndexOf(String) |
Obtient l'index du Constraint spécifié par son nom. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
OnCollectionChanged(CollectionChangeEventArgs) |
Déclenche l’événement CollectionChanged. |
Remove(Constraint) |
Supprime l’objet Constraint spécifié de la collection. |
Remove(String) |
Supprime de la collection l'objet Constraint spécifié par son nom. |
RemoveAt(Int32) |
Supprime l’objet Constraint de la collection, à l’index spécifié. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Événements
CollectionChanged |
Se produit chaque fois que ConstraintCollection est modifié en raison de l'ajout ou de la suppression d'objets Constraint. |
Méthodes d’extension
Cast<TResult>(IEnumerable) |
Effectue un cast des éléments d'un IEnumerable vers le type spécifié. |
OfType<TResult>(IEnumerable) |
Filtre les éléments d'un IEnumerable en fonction du type spécifié. |
AsParallel(IEnumerable) |
Active la parallélisation d'une requête. |
AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |
S’applique à
Cohérence de thread
Ce type est sécurisé pour les opérations de lecture multithread. Vous devez synchroniser toutes les opérations d’écriture.