Partager via


Spécifier les relations entre des éléments qui ne sont pas imbriqués (ADO.NET)

Lorsque des éléments ne sont pas imbriqués, aucune relation implicite n'est créée. Vous pouvez toutefois spécifier explicitement des relations entre des éléments qui ne sont pas imbriqués, à l'aide de l'annotation msdata:Relationship.

L'exemple suivant représente un schéma XML dans lequel l'annotation msdata:Relationship est spécifiée entre les éléments non imbriqués Order et OrderDetail. L'annotation msdata:Relationship est spécifiée en tant qu'élément enfant de l'élément Schema.

<xs:schema id="MyDataSet"  
             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="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:element name="Order">
       <xs:complexType>
         <xs:sequence>
           <xs:element name="OrderNumber" type="xs:string" />
           <xs:element name="EmpNumber" type="xs:string" />
         </xs:sequence>
       </xs:complexType>
      </xs:element>
    </xs:choice>
  </xs:complexType>

  </xs:element>
   <xs:annotation>
     <xs:appinfo>
       <msdata:Relationship name="OrdOrderDetailRelation"
                            msdata:parent="Order" 
                            msdata:child="OrderDetail" 
                            msdata:parentkey="OrderNumber" 
                            msdata:childkey="OrderNo"/>
     </xs:appinfo>
  </xs:annotation>
</xs:schema>

Le processus de mappage du schéma en langage XSD (XML Schema Definition) crée un DataSet comprenant les tables Order et OrderDetail et une relation est spécifiée entre ces deux tables, comme illustré ci-après.

RelationName: OrdOrderDetailRelation
ParentTable: Order
ParentColumns: OrderNumber 
ChildTable: OrderDetail
ChildColumns: OrderNo 
Nested: False

Voir aussi

Concepts

Génération des relations d'un DataSet à partir d'un schéma XSD (XML Schema Definition)

Autres ressources

Mappage de contraintes de schéma XML (XSD) à des contraintes de DataSet