Condividi tramite


Riepilogo del processo di inferenza dello schema dataset

Il processo di inferenza determina innanzitutto, dal documento XML, quali elementi verranno dedotti come tabelle. Dal codice XML rimanente, il processo di inferenza determina le colonne per tali tabelle. Per le tabelle nidificate, il processo di inferenza genera oggetti DataRelation e ForeignKeyConstraint nidificati.

Di seguito è riportato un breve riepilogo delle regole di inferenza:

  • Gli elementi con attributi vengono dedotti come tabelle.

  • Gli elementi con elementi secondari vengono considerati tabelle.

  • Gli elementi ripetuti vengono dedotti come una singola tabella.

  • Se il documento o l'elemento radice non ha attributi e nessun elemento figlio che verrebbe dedotto come colonne, viene dedotto come un DataSet. In caso contrario, l'elemento del documento viene dedotto come tabella.

  • Gli attributi vengono dedotti come colonne.

  • Gli elementi che non dispongono di attributi o elementi figlio e che non si ripetono vengono dedotti come colonne.

  • Per gli elementi dedotti come tabelle nidificate all'interno di altri elementi anch'essi dedotti come tabelle, viene creato un DataRelation annidato tra le due tabelle. Una nuova colonna chiave primaria denominata TableName_Id viene aggiunta a entrambe le tabelle e usata da DataRelation. Viene creato un foreignKeyConstraint tra le due tabelle usando la colonna TableName_Id .

  • Per gli elementi dedotti come tabelle e che contengono testo senza elementi figlio, viene creata una nuova colonna denominata TableName_Text per il testo di ognuno degli elementi. Se un elemento viene dedotto come tabella e contiene testo, ma include anche elementi figlio, il testo viene ignorato.

Vedere anche