Condividi tramite


Aggiunta di DataRelation (ADO.NET)

In un DataSet contenente più oggetti DataTable è possibile utilizzare gli oggetti DataRelation per creare relazioni tra le tabelle, navigare tra di esse e restituire le righe padre o figlio da una tabella correlata.

Gli argomenti necessari per la creazione di un oggetto DataRelation sono un nome per l'oggetto DataRelation creato e una matrice di uno o più riferimenti DataColumn alle colonne che fungono da colonne padre e figlio nella relazione. Una volta creato un oggetto DataRelation, è possibile utilizzare tale oggetto per navigare tra le tabelle e recuperare i valori.

Se si aggiunge un oggetto DataRelation a un DataSet, per impostazione predefinita viene aggiunto un vincolo UniqueConstraint alla tabella padre e un vincolo ForeignKeyConstraint alla tabella figlio. Per ulteriori informazioni su questi vincoli predefiniti, vedere Vincoli di DataTable (ADO.NET).

Nell'esempio di codice seguente viene creato un oggetto DataRelation utilizzando due oggetti DataTable in un DataSet. In ogni DataTable è contenuta una colonna denominata CustID, che funge da collegamento tra i due oggetti DataTable. Nell'esempio viene aggiunto un singolo oggetto DataRelation alla raccolta Relations del DataSet. Il nome dell'oggetto DataRelation creato viene specificato dal primo argomento dell'esempio. Il secondo argomento consente di impostare l'oggetto DataColumn padre e il terzo argomento consente di impostare l'oggetto DataColumn figlio.

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

Un oggetto DataRelation dispone anche di una proprietà Nested che, se impostata su true, provoca l'annidamento delle righe della tabella figlio all'interno della riga associata della tabella padre, nel caso in cui tali righe siano scritte come elementi XML tramite il metodo WriteXml. Per ulteriori informazioni, vedere Utilizzo di XML in un DataSet (ADO.NET).

Vedere anche

Altre risorse

DataSet, DataTable e DataView (ADO.NET)