Compartir a través de


Resumen del proceso de inferencia de esquemas de DataSet (ADO.NET)

Actualización: November 2007

El proceso de inferencia determina en primer lugar, a partir del documento XML, qué elementos se inferirán como tablas. A partir del XML restante, el proceso de inferencia determina las columnas para dichas tablas. En el caso de las tablas anidadas, el proceso de inferencia genera objetos DataRelation y ForeignKeyConstraint anidados.

A continuación se resumen brevemente las reglas de inferencia:

  • Los elementos que tienen atributos se deducen como tablas.

  • Los elementos que tienen elementos secundarios se deducen como tablas.

  • Los elementos que se repiten se deducen como una única tabla.

  • Si el elemento de documento, o raíz, no tiene atributos y no se deduciría ningún elemento secundario como una columna, se deduce como un DataSet. De lo contrario, el elemento de documento se deducirá como una tabla.

  • Los atributos se deducen como columnas.

  • Los elementos que no tienen atributos o elementos secundarios, y que no se repiten, se deducen como columnas.

  • Para los elementos que se deducen como tablas anidadas dentro de otros elementos que también se deducen como tablas, se crea una DataRelation anidada entre las dos tablas. Se agrega a ambas tablas una nueva columna de clave principal denominada TableName_Id que la DataRelation utiliza. Se crea una ForeignKeyConstraint entre las dos tablas mediante la columna TableName_Id.

  • Para los elementos que se deducen como tablas y que contienen texto pero que no tienen elementos secundarios, se crea una columna nueva denominada TableName_Text para el texto de cada uno de los elementos. Si un elemento se deduce como una tabla y tiene texto, pero también tiene elementos secundarios, se pasa por alto el texto.

Vea también

Conceptos

Cargar DataSet desde XML (ADO.NET)

Cargar la información de esquema de DataSet desde XML (ADO.NET)

Otros recursos

Deducir la estructura relacional de DataSet de XML (ADO.NET)

Utilizar XML en un DataSet (ADO.NET)

DataSets, DataTables y DataViews (ADO.NET)