Partager via


Résumé du processus d'inférence du schéma d'un DataSet (ADO.NET)

Le processus d'inférence identifie d'abord, à partir du document XML, les éléments qui seront déduits en tant que tables. À partir du XML restant, le processus d'inférence détermine les colonnes qui feront partie de ces tables. Pour les tables imbriquées, le processus d'inférence génère des objets DataRelation et ForeignKeyConstraint imbriqués.

Les règles d'inférence sont brièvement résumées ci-après :

  • Les éléments assortis d'attributs sont déduits en tant que tables.

  • Les éléments possédant des éléments enfants sont déduits en tant que tables.

  • Les éléments qui se répètent sont déduits une seule fois en tant que table.

  • Si l'élément de document, ou racine, ne comporte pas d'attributs ni d'éléments enfants qui seraient déduits en tant que colonnes, il est déduit en tant qu'objet DataSet. Sinon, l'élément de document est déduit en tant que table.

  • Les attributs sont déduits en tant que colonnes.

  • Les éléments dépourvus d'attributs ou d'éléments enfants et qui ne se répètent pas sont déduits en tant que colonnes.

  • Pour les éléments qui sont déduits en tant que tables imbriquées dans d'autres éléments également déduits en tant que tables, un DataRelation imbriqué est créé entre les deux tables. Une nouvelle colonne de clé primaire, nommée TableName_Id, est ajoutée aux deux tables et utilisée par le DataRelation. Un ForeignKeyConstraint est créé entre les deux tables utilisant la colonne TableName_Id.

  • Pour les éléments déduits en tant que tables et qui contiennent du texte mais n'ont pas d'éléments enfants, une nouvelle colonne nommée TableName_Text est créée pour le texte de chacun de ces éléments. Si un élément déduit en tant que table comprend du texte, mais également des éléments enfants, le texte est ignoré.

Voir aussi

Concepts

Chargement d'un DataSet à partir de XML (ADO.NET)

Chargement des informations de schéma d'un DataSet à partir de XML (ADO.NET)

Autres ressources

Déduction de la structure relationnelle d'un DataSet à partir de XML (ADO.NET)

Utilisation de XML dans un DataSet (ADO.NET)

Objets DataSet, DataTable et DataView (ADO.NET)