Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если элемент, выводимый как таблица, имеет дочерний элемент, который также выводится как таблица, DataRelation будет создан между двумя таблицами. Новый столбец с именем ParentTableName_Id будет добавлен как в таблицу, созданную для родительского элемента, так и таблицу, созданную для дочернего элемента. Свойство ColumnMapping этого идентификационного столбца будет установлено на MappingType.Hidden. Столбец будет автоматически увеличивающимся первичным ключом родительской таблицы, и будет использоваться для DataRelation между двумя таблицами. Тип данных добавленного столбца идентификации будет System.Int32, в отличие от типа данных всех остальных выведенных столбцов, которые являются System.String. Также будет создан ForeignKeyConstraint с DeleteRule = Cascade с помощью нового столбца в родительских и дочерних таблицах.
Например, рассмотрим следующий XML-код:
<DocumentElement>
<Element1>
<ChildElement1 attr1="value1" attr2="value2"/>
<ChildElement2>Text2</ChildElement2>
</Element1>
</DocumentElement>
Процесс вывода создаст две таблицы: Element1 и ChildElement1.
Таблица Element1 будет иметь два столбца: Element1_Id и ChildElement2. Свойство ColumnMapping столбца Element1_Id будет иметь значение MappingType.Hidden. Свойство ColumnMapping столбца ChildElement2 будет иметь значение MappingType.Element. Столбец Element1_Id будет задан в качестве первичного ключа таблицы Element1 .
Таблица ChildElement1 будет содержать три столбца: attr1, attr2 и Element1_Id. Свойство ColumnMapping для столбцов attr1 и attr2 будет иметь значение MappingType.Attribute. Свойство ColumnMapping столбца Element1_Id будет иметь значение MappingType.Hidden.
Будут созданы DataRelation и ForeignKeyConstraint с помощью столбцов Element1_Id из обеих таблиц.
Набор данных: DocumentElement
Таблица: Элемент1
| Element1_Id | ChildElement2 |
|---|---|
| 0 | Текст2 |
Таблица: ChildElement1
| attr1 | атрибут2 | Element1_Id |
|---|---|---|
| значение1 | значение2 | 0 |
DataRelation: Element1_ChildElement1
ParentTable: Элемент1
ParentColumn: Element1_Id
ChildTable: ChildElement1
Дочерний столбец: Element1_Id
Вложенный: Да
ForeignKeyConstraint: Element1_ChildElement1
Столбец: Element1_Id
ParentTable: Элемент1
ChildTable: ChildElement1
DeleteRule: Каскад
AcceptRejectRule: Отсутствует