Agregar objetos DataRelation
En un DataSet que contiene varios objetos DataTable, es posible utilizar objetos DataRelation para relacionar una tabla con otra, navegar por las tablas y devolver filas secundarias o primarias de una tabla relacionada.
Los argumentos necesarios para crear un objeto DataRelation son un nombre para el objeto DataRelation que se va a crear y una matriz de una o más referencias DataColumn a las columnas que actúan como columnas primaria y secundaria en la relación. Una vez creado un objeto DataRelation, es posible utilizarlo para navegar por las tablas y recuperar valores.
Al agregar una DataRelation a una DataSet, se agrega de forma predeterminada una UniqueConstraint a la tabla primaria y una ForeignKeyConstraint a la tabla secundaria. Para más información sobre cómo crear restricciones, consulte Restricciones de DataTable.
En el siguiente ejemplo de código se crea una DataRelation mediante dos objetos DataTable en un DataSet. Cada DataTable contiene una columna denominada CustID, que actúa como vínculo entre los dos objetos DataTable. En el ejemplo se agrega una única DataRelation a la colección Relations del DataSet. El primer argumento del ejemplo especifica el nombre de la DataRelation que se va a crear. El segundo argumento establece la DataColumn primaria y el tercer argumento establece la DataColumn secundaria.
customerOrders.Relations.Add("CustOrders", _
customerOrders.Tables("Customers").Columns("CustID"), _
customerOrders.Tables("Orders").Columns("CustID"))
customerOrders.Relations.Add("CustOrders",
customerOrders.Tables["Customers"].Columns["CustID"],
customerOrders.Tables["Orders"].Columns["CustID"]);
Una DataRelation tiene también una propiedad Nested que, cuando tiene el valor true, hace que las filas de la tabla secundaria se aniden dentro de la fila asociada de la tabla primaria cuando se escriben como elementos XML mediante WriteXml. Para obtener más información, vea Using XML in a DataSet (Usar XML en un conjunto de datos).