Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Em um DataSet, você forma uma associação entre duas ou mais colunas criando uma relação pai-filho. Existem três formas de representar uma DataSet relação dentro de um esquema de linguagem de definição de esquema XML (XSD):
Especifique tipos complexos aninhados.
Utilize a anotação msdata:Relationship.
Especifique um xs:keyref sem a anotação msdata:ConstraintOnly .
Tipos complexos aninhados
Definições de tipo complexas aninhadas em um esquema indicam as relações pai-filho dos elementos. O seguinte fragmento XML Schema mostra que OrderDetail é um elemento filho do Order elemento.
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderDetail" />
<xs:complexType>
</xs:complexType>
</xs:sequence>
</xs:complexType>
</xs:element>
O processo de mapeamento de esquemas XML cria tabelas no DataSet que correspondem aos tipos complexos aninhados no esquema. Também cria colunas adicionais que são usadas como colunas pai-filho para as tabelas geradas. Observe que essas colunas pai-filho-especificam relações, o que não é o mesmo que especificar restrições de chave primária/chave estrangeira.
msdata:Anotação de relacionamento
A anotação msdata:Relationship permite especificar explicitamente relações pai-filho entre elementos no esquema que não estão aninhados. O exemplo seguinte mostra a estrutura do Relationship elemento.
<msdata:Relationship name="CustOrderRelationship"
msdata:parent=""
msdata:child=""
msdata:parentkey=""
msdata:childkey="" />
Os atributos da anotação msdata:Relationship identificam os elementos envolvidos na relação pai-filho, bem como os parentkey elementos e childkey atributos envolvidos na relação. O processo de mapeamento utiliza esta informação para gerar tabelas no DataSet e para criar a relação chave primária/chave estrangeira entre estas tabelas.
Por exemplo, o seguinte fragmento de esquema especifica Order e OrderDetail elementos ao mesmo nível (não aninhados). O esquema especifica uma anotação msdata:Relationship , que especifica a relação pai-filho entre esses dois elementos. Nesse caso, uma relação explícita deve ser especificada usando a anotação msdata:Relationship .
<xs:element name="MyDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="OrderDetail">
<xs:complexType>
</xs:complexType>
</xs:element>
<xs:element name="Order">
<xs:complexType>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:appinfo>
<msdata:Relationship name="OrdOrdDetailRelation"
msdata:parent="Order"
msdata:child="OrderDetail"
msdata:parentkey="OrderNumber"
msdata:childkey="OrderNo"/>
</xs:appinfo>
</xs:annotation>
O processo de mapeamento utiliza o Relationship elemento para criar uma relação pai-filho entre a OrderNumber coluna da Order tabela e a OrderNo coluna da OrderDetail tabela no DataSet. O processo de mapeamento especifica apenas a relação; Ele não especifica automaticamente quaisquer restrições sobre os valores nessas colunas, assim como as restrições de chave primária/chave estrangeira em bancos de dados relacionais.
Na presente seção
Mapear relações implícitas entre elementos de esquema aninhados Descreve as restrições e relações que são implicitamente criadas num DataSet quando elementos aninhados são encontrados no XML Schema.
Mapeamento de Relações Especificadas para Elementos Aninhados Descreve como definir explicitamente relações em um DataSet para elementos aninhados em XML Schema.
Especificar relações entre elementos sem aninhamento Descreve como criar relações entre DataSet elementos do Esquema XML que não estão aninhados.
Seções relacionadas
Derivação da Estrutura Relacional de DataSet a partir do XML Schema (XSD) Descreve a estrutura relacional, ou esquema, de um DataSet que é criado a partir do esquema Linguagem de Definição de Esquema XML (XSD).
Mapear as restrições do esquema XML (XSD) para as restrições do conjunto de dados Descreve os elementos do XML Schema usados para criar restrições de chave únicas e estrangeiras num DataSet.