Общие сведения о процессе определения схемы набора данных
Процесс вывода схемы из XML-документа вначале определяет, какие элементы будут выведены как таблицы. Из оставшегося XML процесс вывода схемы определяет столбцы этих таблиц. Для вложенных таблиц процесс вывода формирует вложенные объекты DataRelation и ForeignKeyConstraint.
Ниже приведен краткий обзор правил вывода:
Элементы с атрибутами выводятся как таблицы.
Элементы, имеющие дочерние элементы, выводятся как таблицы.
Повторяющиеся элементы выводятся как одна таблица.
Если элемент документа (корневой элемент) не имеет ни атрибутов, ни дочерних элементов, которые выводились бы как столбцы, он выводится как DataSet. В противном случае элемент документа выводится как таблица.
Атрибуты выводятся как столбцы.
Элементы, которые не повторяются и не имеют ни атрибутов, ни дочерних элементов, выводятся как столбцы.
Для элементов, которые выводятся как вложенные таблицы в других элементах, которые также выводятся в виде таблиц, создается вложенный объект DataRelation между двумя таблицами. Новый столбец первичного ключа с именем TableName_Id добавляется в обе таблицы и используется DataRelation. ForeignKeyConstraint создается между двумя таблицами с помощью столбца TableName_Id.
Для элементов, которые выводятся как таблицы и содержащие текст, но не имеют дочерних элементов, создается новый столбец с именем TableName_Text для текста каждого элемента. Если элемент выводится как таблица и имеет текст, но при этом имеет дочерние элементы, текст пропускается.