Adicionando DataRelationsAdding DataRelations

Em um DataSet com vários objetos DataTable, você pode usar objetos DataRelation para relacionar uma tabela a outra, para navegar pelas tabelas e para retornar as linhas filho ou pai de uma tabela relacionada.In a DataSet with multiple DataTable objects, you can use DataRelation objects to relate one table to another, to navigate through the tables, and to return child or parent rows from a related table.

Os argumentos necessários para criar uma DataRelation são um nome para a DataRelation que está sendo criada e uma matriz de uma ou mais DataColumn referências às colunas que servem como as colunas pai e filho na relação.The arguments required to create a DataRelation are a name for the DataRelation being created, and an array of one or more DataColumn references to the columns that serve as the parent and child columns in the relationship. Depois de criar uma DataRelation, você pode usá-la para navegar entre tabelas e recuperar valores.After you have created a DataRelation, you can use it to navigate between tables and to retrieve values.

Adicionar uma DataRelation a um DataSet ADDS, por padrão, a UniqueConstraint à tabela pai e a ForeignKeyConstraint à tabela filho.Adding a DataRelation to a DataSet adds, by default, a UniqueConstraint to the parent table and a ForeignKeyConstraint to the child table. Para obter mais informações sobre essas restrições padrão, consulte as restrições de DataTable.For more information about these default constraints, see DataTable Constraints.

O exemplo de código a seguir cria uma DataRelation usando dois DataTable objetos em um DataSet .The following code example creates a DataRelation using two DataTable objects in a DataSet. Cada DataTable contém uma coluna chamada CustID, que serve como um link entre os dois DataTable objetos.Each DataTable contains a column named CustID, which serves as a link between the two DataTable objects. O exemplo adiciona uma única DataRelation à coleção Relations do DataSet .The example adds a single DataRelation to the Relations collection of the DataSet. O primeiro argumento no exemplo especifica o nome da DataRelation que está sendo criada.The first argument in the example specifies the name of the DataRelation being created. O segundo argumento define a DataColumn pai e o terceiro argumento define o filho DataColumn.The second argument sets the parent DataColumn and the third argument sets the child DataColumn.

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"]);  

Uma DataRelation também tem uma propriedade aninhada que, quando definida como true, faz com que as linhas da tabela filho sejam aninhadas dentro da linha associada da tabela pai quando gravadas como elementos XML usando WriteXml .A DataRelation also has a Nested property which, when set to true, causes the rows from the child table to be nested within the associated row from the parent table when written as XML elements using WriteXml . Para obter mais informações, consulte Using XML in a DataSet (Usando XML em um DataSet).For more information, see Using XML in a DataSet.

Consulte tambémSee also