Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In einem DataSet können Sie eine Verknüpfung zwischen zwei oder mehreren Spalten erstellen, indem Sie eine Parent-Child-Beziehung erstellen. Es gibt drei Möglichkeiten, eine DataSet-Beziehung innerhalb eines XML Schema Definition (XSD)-Sprachschemas darzustellen:
- Geben Sie geschachtelte komplexe Typen an.
- Verwenden Sie die msdata:Relationship-Anmerkung.
- Geben Sie xs:keyref ohne msdata:ConstraintOnly-Anmerkung an.
Geschachtelte komplexe Typen
Geschachtelte komplexe Typendefinitionen in einem Schema geben die Parent-Child-Beziehungen von Elementen an. Der folgende Ausschnitt eines XML-Schemas zeigt, dass OrderDetail ein untergeordnetes Element des Order-Elements ist.
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
... <xs:element name="OrderDetail" /> <xs:complexType>
...
</xs:complexType>
</xs:sequence>
</xs:complexType>
</xs:element>
Der XML-Schemazuordnungsprozess erstellt Tabellen im DataSet, die den geschachtelten komplexen Typen im Schema entsprechen. Er erstellt ebenfalls zusätzliche Spalten, die als Parent-Child-Spalten für generierte Tabellen verwendet werden. Beachten Sie, dass diese Parent-Child-Spalten Beziehungen angeben. Dies ist nicht mit Primärschlüssel-/Fremdschlüsseleinschränkungen identisch.
msdata:Relationship-Anmerkung
Mit der msdata:Relationship-Anmerkung können Sie Parent-Child-Beziehungen zwischen Elementen im Schema, die nicht geschachtelt sind, ausdrücklich angeben. Das folgende Beispiel verdeutlicht die Struktur des Relationship-Elements:
<msdata:Relationship name="CustOrderRelationship"
msdata:parent="..."
msdata:child="..."
msdata:parentkey="..."
msdata:childkey="..." />
Die Attribute der msdata:Relationship-Anmerkung identifizieren Elemente der Parent-Child-Beziehung sowie die Elemente parentkey und childkey und Attribute der Beziehung. Der Zuordnungsprozess verwendet dieses Informationen, um Tabellen im DataSet zu generieren und die Primärschlüssel-/Fremdschlüsselbeziehung zwischen diesen Tabellen zu erstellen.
Der folgende Schemaausschnitt gibt die Elemente Order und OrderDetail auf derselben Ebene (nicht geschachtelt) an: Das Schema gibt eine msdata:Relationship-Anmerkung an, die die Parent-Child-Beziehung zwischen diesen beiden Elementen angibt. In diesem Fall muss eine explizite Beziehung mit Hilfe der msdata:Relationship-Anmerkung angegeben werden.
<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>
Der Zuordnungsprozess verwendet das Relationship-Element, um eine Parent-Child-Beziehung zwischen der OrderNumber-Spalte in der Order-Tabelle und der OrderNo-Spalte in der OrderDetail-Tabelle des DataSets zu erstellen. Der Zuordnungsprozess gibt nur die Beziehung an. Einschränkungen für die Werte in diesen Spalten werden nicht wie bei den Primärschlüssel-/Fremdschlüsseleinschränkungen in relationalen Datenbanken automatisch angegeben. Mit XML-Schemaelementen können Sie Einschränkungen in einem DataSet angeben, wie unter Datentypunterstützung zwischen XML-Schematypen (XSD) und .NET Framework-Typen beschrieben.
In diesem Abschnitt
- Zuordnen von impliziten Beziehungen zwischen geschachtelten Schemaelementen
Beschreibt die Einschränkungen und Beziehungen, die implizit in einem DataSet erstellt werden, wenn geschachtelte Elemente im XML-Schema vorhanden sind. - Zuordnen von für geschachtelte Elemente angegebenen Beziehungen
Beschreibt das explizite Festlegen von Beziehungen in einem DataSet für geschachtelte Elemente in einem XML-Schema. - Angeben von Beziehungen zwischen Elementen ohne Schachtelung
Beschreibt das Erstellen von Beziehungen in einem DataSet zwischen XML-Schemaelementen, die nicht geschachtelt sind.
Verwandte Abschnitte
- Generieren einer relationalen DataSet-Struktur aus einem XML-Schema (XSD)
Beschreibt die relationale Struktur oder das Schema eines DataSets, das aus einem XML Schema Definition (XSD)-Sprachschema erstellt wird. - Zuordnen von XML-Schema (XSD)-Einschränkungen zu DataSet-Einschränkungen
Beschreibt die XML-Schemaelemente, mit denen eindeutige und Fremdschlüsseleinschränkungen in einem DataSet erstellt werden. - Datentypunterstützung zwischen XML-Schematypen (XSD) und .NET Framework-Typen
Beschreibt, wie XML-Schematypen als .NET Framework-Typen für Spalten in einem DataSet dargestellt werden.