Ajout d'objets DataRelation (ADO.NET)

Mise à jour : November 2007

Dans un objet DataSet contenant plusieurs objets DataTable, vous pouvez utiliser des objets DataRelation pour associer une table à une autre, pour vous déplacer dans les tables et pour retourner les lignes enfants ou parentes d'une table associée.

Les arguments requis pour créer un DataRelation sont un nom pour le DataRelation et un tableau d'une ou de plusieurs références d'objet DataColumn aux colonnes qui serviront de colonnes parentes et enfants dans la relation. Une fois que vous avez créé un DataRelation, vous pouvez l'utiliser pour vous déplacer entre les tables et extraire des valeurs.

Le fait d'ajouter un DataRelation à un objet DataSet ajoute, par défaut, un objet UniqueConstraint à la table parente et un objet ForeignKeyConstraint à la table enfant. Pour plus d'informations sur ces contraintes par défaut, voir Contraintes DataTable (ADO.NET).

L'exemple de code suivant crée un DataRelation entre deux objets DataTable dans un objet DataSet. Chaque objet DataTable contient une colonne nommée CustID qui sert de lien entre les deux objets DataTable. L'exemple ajoute un seul DataRelation à la collection Relations de l'objet DataSet. Le premier argument de l'exemple spécifie le nom du DataRelation créé. Le deuxième définit le DataColumn parent et le troisième le DataColumn enfant.

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 DataRelation est également assorti d'une propriété Nested qui, définie sur true, imbrique les lignes de la table enfant dans la ligne associée de la table parente lorsque ce contenu est écrit sous la forme d'éléments XML à l'aide de WriteXml. Pour plus d'informations, voir Utilisation de XML dans un DataSet (ADO.NET).

Voir aussi

Autres ressources

Objets DataSet, DataTable et DataView (ADO.NET)