Freigeben über


Angeben von Beziehungen zwischen Elementen ohne Verschachtelung

Wenn Elemente nicht geschachtelt sind, werden keine impliziten Beziehungen erstellt. Sie können jedoch explizit Beziehungen zwischen Elementen, die nicht geschachtelt sind, angeben, indem Sie die msdata:Relationship-Anmerkung verwenden.

Das folgende Beispiel zeigt ein XML-Schema, in dem die msdata:Relationship-Annotation zwischen den Elementen Order und OrderDetail angegeben ist, die nicht geschachtelt sind. Die Msdata:Relationship-Anmerkung wird als untergeordnetes Element des Schema Elements angegeben.

<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="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>

Der XSD-Schemazuordnungsprozess (XML Schema Definition Language) erstellt eine DataSet mit Order- und OrderDetail-Tabellen und einer definierten Beziehung zwischen diesen beiden Tabellen, wie unten dargestellt.

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

Siehe auch