Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
ConstraintCollection (Clase)
Representa una colección de restricciones para una tabla DataTable.
Ensamblado: System.Data (en System.Data.dll)
El tipo ConstraintCollection expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
Count | Obtiene el número total de elementos de una colección. (Se hereda de InternalDataCollectionBase). |
|
IsReadOnly | Obtiene un valor que indica si InternalDataCollectionBase es de sólo lectura. (Se hereda de InternalDataCollectionBase). |
|
IsSynchronized | Obtiene un valor que indica si el objeto InternalDataCollectionBase está sincronizado. (Se hereda de InternalDataCollectionBase). |
|
Item[Int32] | Obtiene el objeto Constraint de la colección en el índice especificado. |
|
Item[String] | Obtiene el objeto Constraint de la colección con el nombre especificado. |
|
List | Obtiene los elementos de una colección en forma de lista. (Se hereda de InternalDataCollectionBase). |
|
SyncRoot | Obtiene un objeto que se puede utilizar para sincronizar la colección. (Se hereda de InternalDataCollectionBase). |
| Nombre | Descripción | |
|---|---|---|
|
Add(Constraint) | Agrega a la colección el objeto Constraint especificado. |
|
Add(String, DataColumn, Boolean) | Construye una nueva restricción UniqueConstraint con el nombre especificado, el objeto DataColumn y un valor que indica si la columna es una clave principal, y la agrega a la colección. |
|
Add(String, DataColumn, DataColumn) | Construye una nueva restricción ForeignKeyConstraint con el nombre, columna primaria y columna secundaria especificados, y agrega la restricción a la colección. |
|
Add(String, DataColumn[], Boolean) | Crea una nueva restricción UniqueConstraint con el nombre especificado, la matriz de objetos DataColumn y un valor que indica si la columna es una clave principal, y la agrega a la colección. |
|
Add(String, DataColumn[], DataColumn[]) | Construye una nueva restricción ForeignKeyConstraint con las matrices de columnas primarias y secundarias especificadas y agrega la restricción a la colección. |
|
AddRange | Copia los elementos de la matriz ConstraintCollection especificada al final de la colección. |
|
CanRemove | Indica si una restricción Constraint se puede quitar. |
|
Clear | Borra cualquier objeto Constraint de la colección. |
|
Contains | Indica si existe en la colección el objeto Constraint especificado por nombre. |
|
CopyTo(Array, Int32) | Copia todos los elementos del InternalDataCollectionBase actual en un Array unidimensional, empezando por el índice del InternalDataCollectionBase especificado. (Se hereda de InternalDataCollectionBase). |
|
CopyTo(Constraint[], Int32) | Copia los objetos de la colección en una instancia de Array unidimensional, comenzando a partir del índice especificado. |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
GetEnumerator | Obtiene un IEnumerator para la colección. (Se hereda de InternalDataCollectionBase). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
IndexOf(Constraint) | Obtiene el índice del objeto Constraint especificado. |
|
IndexOf(String) | Obtiene el índice del objeto Constraint especificado por su nombre. |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
Remove(Constraint) | Quita de la colección el objeto Constraint especificado. |
|
Remove(String) | Quita el objeto Constraint especificado por nombre de la colección. |
|
RemoveAt | Quita de la colección el objeto Constraint que está en el índice especificado. |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
| Nombre | Descripción | |
|---|---|---|
|
CollectionChanged | Se produce siempre que cambia la colección ConstraintCollection porque se están agregando o quitando objetos Constraint. |
Se obtiene acceso al ConstraintCollection mediante la propiedad DataTable.Constraints.
ConstraintCollection puede contener objetos UniqueConstraint y ForeignKeyConstraint para la tabla DataTable. Un objeto UniqueConstraint garantiza que los datos de una columna específica son siempre únicos, para mantener la integridad de los datos. La clase ForeignKeyConstraint determina lo que va a suceder en las tablas relacionadas cuando se actualice o elimine el objeto DataTable. Por ejemplo, si una fila se elimina, ForeignKeyConstraint determinará si las filas relacionadas también se eliminan (una cascada) o cualquier otra acción.
Nota
|
|---|
|
Al agregar un objeto DataRelation, que crea una relación entre dos tablas, a un objeto DataSet, se crean automáticamente tanto un objeto ForeignKeyConstraint como un objeto UniqueConstraint. La restricción UniqueConstraint se aplica a la columna de clave principal de la tabla DataTable primaria y la restricción se agrega a la colección ConstraintCollection de esa tabla. La restricción ForeignKeyConstraint se aplica a las columnas de clave principal y de clave externa y la restricción se agrega a la colección ConstraintCollection de la tabla secundaria. |
La colección ConstraintCollection utiliza métodos de colección estándar, como Add, Clear y Remove. Además, se puede utilizar el método Contains para comprobar la existencia de una restricción concreta en la colección.
Cuando se agrega un objeto DataColumn con la propiedad Unique establecida en true a la colección DataColumnCollection de un objeto DataTable, se crea una restricción UniqueConstraint.
Cuando se agrega una relación DataRelation a la colección DataRelationCollection de un objeto DataSet, se crea una restricción ForeignKeyConstraint.
En el primer ejemplo, se crea una tabla DataTable y se agrega una columna DataColumn (con la propiedad Unique establecida en true) a la colección DataColumnCollection. En el segundo ejemplo, se crea un DataSet, dos objetos DataTable, cuatro columnas y una relación DataRelation. A continuación, se imprime el recuento de restricciones para mostrar que se han creado una restricción ForeignKeyConstraint y una restricción UniqueConstraint al agregar una relación DataRelation al DataRelationCollection del objeto DataSet.
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()); } } }
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota