Resumen del proceso de inferencia de esquemas de DataSet
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 ningún elemento secundario se inferiría como una columna, se deducirá 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 y que están anidados 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
Deducir la estructura relacional de DataSet de XML | Cargar DataSet desde XML | Cargar la información de esquema de DataSet desde XML | XML y DataSet | Crear y utilizar DataSets