Riepilogo del processo di inferenza dello schema di un DataSet (ADO.NET)
Il processo di inferenza determina innanzitutto, sulla base del documento XML, quali elementi verranno inferiti come tabelle. Sulla base delle rimanenti informazioni XML, il processo di inferenza consente quindi di determinare le colonne per tali tabelle. Nel caso di tabelle annidate, gli oggetti DataRelation e ForeignKeyConstraint vengono generati dal processo di inferenza.
Di seguito viene riportato un breve riepilogo delle regole di inferenza:
Gli elementi a cui sono associati attributi vengono inferiti come tabelle.
Gli elementi a cui sono associati elementi figlio vengono inferiti come tabelle.
Gli elementi ripetuti vengono inferiti come tabella singola.
Se all'elemento del documento, o radice, non sono associati attributi ed elementi figlio da inferire come colonne, tale elemento viene inferito come un tipo DataSet. In caso contrario, l'elemento del documento viene inferito come tabella.
Gli attributi vengono inferiti come colonne.
Gli elementi a cui non sono associati attributi o elementi figlio e che non si ripetono vengono inferiti come colonne.
Nel caso di elementi inferiti come tabelle annidate all'interno di altri elementi inferiti a loro volta come tabelle, viene creato un oggetto DataRelation annidato tra le due tabelle. Una nuova colonna di chiave primaria denominata TableName_Id viene aggiunta a entrambe le tabelle e utilizzata dall'oggetto DataRelation. Viene creato un vincolo ForeignKeyConstraint tra le due tabelle utilizzando la colonna TableName_Id.
Nel caso di elementi inferiti come tabelle e contenenti testo ma privi di elementi figlio, per il testo di ogni elemento viene creata una nuova colonna denominata TableName_Text. Se un elemento viene inferito come tabella e dispone di testo, ma a tale elemento sono associati anche elementi figlio, il testo verrà ignorato.
Vedere anche
Concetti
Caricamento di un DataSet da XML (ADO.NET)
Caricamento delle informazioni relative allo schema di un DataSet da XML (ADO.NET)
Altre risorse
Inferenza della struttura relazionale del DataSet da XML (ADO.NET)