Udostępnij za pośrednictwem


Podsumowanie procesu wnioskowania schematu elementu DataSet

Proces wnioskowania najpierw określa z dokumentu XML, które elementy zostaną wywnioskowane jako tabele. Z pozostałego kodu XML proces wnioskowania określa kolumny dla tych tabel. W przypadku tabel zagnieżdżonych proces wnioskowania generuje zagnieżdżone DataRelation obiekty i ForeignKeyConstraint .

Poniżej przedstawiono krótkie podsumowanie reguł wnioskowania:

  • Elementy, które mają atrybuty, są wnioskowane jako tabele.

  • Elementy, które mają elementy podrzędne, są wnioskowane jako tabele.

  • Elementy powtarzane są wnioskowane jako pojedyncza tabela.

  • Jeśli dokument lub element główny nie ma atrybutów i nie ma elementów podrzędnych, które zostaną wywnioskowane jako kolumny, zostanie on wywnioskowany jako DataSet. W przeciwnym razie element dokumentu jest wnioskowany jako tabela.

  • Atrybuty są wnioskowane jako kolumny.

  • Elementy, które nie mają atrybutów ani elementów podrzędnych i które nie są powtarzane, są wnioskowane jako kolumny.

  • W przypadku elementów, które są wnioskowane jako tabele zagnieżdżone w innych elementach, które są również wnioskowane jako tabele, między dwiema tabelami jest tworzona zagnieżdżona funkcja DataRelation . Nowa kolumna klucza podstawowego o nazwie TableName_Id jest dodawana zarówno do tabel, jak i używana przez funkcję DataRelation. Element ForeignKeyConstraint jest tworzony między dwiema tabelami przy użyciu kolumny TableName_Id .

  • W przypadku elementów, które są wnioskowane jako tabele i zawierające tekst, ale nie mają elementów podrzędnych, zostanie utworzona nowa kolumna o nazwie TableName_Text dla tekstu każdego z elementów. Jeśli element jest wywnioskowany jako tabela i zawiera tekst, ale ma również elementy podrzędne, tekst jest ignorowany.

Zobacz też