DataRelation (Clase)
Ensamblado: System.Data (en system.data.dll)
Se utiliza un DataRelation para relacionar dos objetos DataTable entre sí mediante objetos DataColumn. Por ejemplo, en una relación Customer/Orders, la tabla Customers es el elemento primario y la tabla Orders el secundario. Es similar a una relación entre la clave principal y la clave externa. Para obtener más información, vea Explorar una relación entre tablas.
Las relaciones se crean entre columnas coincidentes de las tablas primarias y secundarias. Es decir, el valor DataType para ambas columnas debe ser idéntico.
Las relaciones también pueden originar varios cambios en cascada desde el DataRow primario hasta sus filas secundarias. Para controlar el cambio de valores en las filas secundarias, agregue un ForeignKeyConstraint al ConstraintCollection del objeto DataTable. ConstraintCollection determina la acción que se debe realizar cuando se elimina o actualiza un valor de una tabla primaria.
Cuando se crea un DataRelation, primero se comprueba que se puede establecer la relación. Después de agregarlo al DataRelationCollection, se mantiene la relación al no permitir ningún cambio que la invalide. Entre el período en que se crea un DataRelation y en que se agrega al DataRelationCollection, se pueden realizar cambios adicionales en las filas primarias o secundarias. Si esto produce una relación que ya no es válida, se genera una excepción.
Los objetos DataRelation se incluyen en un DataRelationCollection, al que se puede obtener acceso mediante la propiedad Relations del DataSet; y las propiedades ChildRelations y ParentRelations del DataTable.
En el ejemplo siguiente se crea un nuevo DataRelation y se agrega al DataRelationCollection de un DataSet.
private void CreateRelation() { // Get the DataColumn objects from two DataTable objects // in a DataSet. Code to get the DataSet not shown here. DataColumn parentColumn = DataSet1.Tables["Customers"].Columns["CustID"]; DataColumn childColumn = DataSet1.Tables["Orders"].Columns["CustID"]; // Create DataRelation. DataRelation relCustOrder; relCustOrder = new DataRelation("CustomersOrders", parentColumn, childColumn); // Add the relation to the DataSet. DataSet1.Relations.Add(relCustOrder); }
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.