Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um esquema XSD (linguagem de definição de esquema XML) pode ter tipos complexos aninhados entre si. Nesse caso, o processo de mapeamento aplica o mapeamento padrão e cria o seguinte no DataSet:
Uma tabela para cada um dos tipos complexos (pai e filho).
Caso não haja nenhuma restrição única no pai, uma coluna de chave primária adicional em cada definição de tabela chamada TableName_Id onde TableName é o nome da tabela pai.
Uma restrição de chave primária na tabela pai que especifica a coluna adicional como chave primária (definindo a propriedade
IsPrimaryKeypara True). A restrição é chamada Constraint# à medida que # é 1, 2, 3 e assim por diante. Por exemplo, o nome padrão da primeira restrição é Constraint1.Uma restrição de chave estrangeira na tabela filho que identifica a coluna adicional como a chave estrangeira que se refere à chave primária da tabela pai. A restrição é nomeada ParentTable_ChildTable em que ParentTable é o nome da tabela pai e ChildTable é o nome da tabela filho.
Uma relação de dados entre as tabelas pai e filho.
O exemplo a seguir mostra um esquema em que OrderDetail é um elemento filho de Order.
<xs:schema id="MyDataSet" xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="MyDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderNumber" type="xs:string" />
<xs:element name="EmpNumber" type="xs:string" />
<xs:element name="OrderDetail">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderNo" type="xs:string" />
<xs:element name="ItemNo" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
O processo de mapeamento de esquema XML cria o seguinte no Conjunto de Dados:
Uma
Ordere umaOrderDetailtabela.Order(OrderNumber, EmpNumber, Order_Id) OrderDetail(OrderNo, ItemNo, Order_Id)Uma restrição exclusiva na
Ordertabela. Observe que aIsPrimaryKeypropriedade está definida como True.ConstraintName: Constraint1 Type: UniqueConstraint Table: Order Columns: Order_Id IsPrimaryKey: TrueUma restrição de chave estrangeira na tabela
OrderDetail.ConstraintName: Order_OrderDetail Type: ForeignKeyConstraint Table: OrderDetail Columns: Order_Id RelatedTable: Order RelatedColumns: Order_IdUma relação entre as tabelas
OrdereOrderDetail. A propriedadeNesteddessa relação é configurada paraTrueporque os elementosOrdereOrderDetailestão aninhados no esquema.ParentTable: Order ParentColumns: Order_Id ChildTable: OrderDetail ChildColumns: Order_Id ParentKeyConstraint: Constraint1 ChildKeyConstraint: Order_OrderDetail RelationName: Order_OrderDetail Nested: True