Agregar DataRelations (ADO.NET)

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 una DataRelation son un nombre para la 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 obtener más información sobre cómo crear restricciones, vea Restricciones de DataTable (ADO.NET).

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 Utilizar XML en un DataSet (ADO.NET).

Vea también

Otros recursos

DataSets, DataTables y DataViews (ADO.NET)