Partilhar via


Resumo do processo de inferência de esquema de conjunto de dados

O processo de inferência primeiro determina, a partir do documento XML, quais elementos serão inferidos como tabelas. A partir do XML restante, o processo de inferência determina as colunas para essas tabelas. Para tabelas aninhadas, o processo de inferência gera os objetos DataRelation e ForeignKeyConstraint aninhados.

Segue-se um breve resumo das regras de inferência:

  • Os elementos que têm atributos são inferidos como tabelas.

  • Os elementos que têm elementos subordinados são deduzidos como tabelas.

  • Os elementos que se repetem são inferidos como uma única tabela.

  • Se o elemento document, ou raiz, não tiver atributos e nenhum elemento filho que sejam considerados como colunas, ele será considerado como um DataSet elemento. Caso contrário, o elemento documento é inferido como uma tabela.

  • Os atributos são inferidos como colunas.

  • Os elementos que não têm atributos ou elementos filho e que não se repetem são inferidos como colunas.

  • Para elementos que são inferidos como tabelas aninhadas dentro de outros elementos que também são inferidos como tabelas, cria-se um DataRelation aninhado entre esses dois elementos. Uma nova coluna de chave primária chamada TableName_Id é adicionada a ambas as tabelas e usada pela DataRelation. A ForeignKeyConstraint é criada entre as duas tabelas usando a coluna TableName_Id.

  • Para elementos que são inferidos como tabelas e que contêm texto mas não têm elementos filhos, é criada uma nova coluna nomeada TableName_Text para o texto de cada um dos elementos. Se um elemento é inferido como uma tabela e tem texto, mas também tem elementos filho, o texto é ignorado.

Ver também