從 XML 結構描述 (XSD) 產生資料集關聯
您可以在 DataSet 內建立父子關係,以建立兩個或多個資料行之間的關聯。 有三種方式可以代表 XML 結構描述定義語言 (XSD) 結構描述內的 DataSet 關聯性:
指定巢狀複雜類型。
使用 msdata:Relationship 注釋。
指定不含 msdata:ConstraintOnly 注釋的 xs:keyref。
巢狀複雜類型
結構描述中的巢狀複雜類型定義表示項目的父子關係。 下列 XML 結構描述片段顯示 OrderDetail 是 Order 元素的子項目。
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderDetail" />
<xs:complexType>
</xs:complexType>
</xs:sequence>
</xs:complexType>
</xs:element>
XML 結構描述對應程式會在對應至結構描述內巢狀複雜類型的 DataSet 建立資料表。 它也會建立其他資料行,做為所產生資料表的父-子資料行。 請注意,這些父-子資料行會指定關聯性,這與指定主索引鍵/外部索引鍵限制式不同。
msdata:Relationship 註釋
msdata:Relationship 注釋可讓您在架構中未巢狀的專案之間明確指定父子關聯性。 下列範例顯示 Relationship 元素的結構。
<msdata:Relationship name="CustOrderRelationship"
msdata:parent=""
msdata:child=""
msdata:parentkey=""
msdata:childkey="" />
msdata:Relationship 註釋的屬性會識別父子關聯性所涉及的元素,以及 parentkey 和 childkey 與關聯性所涉及的屬性。 對應程式會使用此資訊來產生 DataSet 中的資料表,並建立這些資料表之間的主索引鍵/外部索引鍵關聯性。
例如,下列架構片段會指定相同層級的 Order 和 OrderDetail 元素 (非巢狀)。 架構會指定 msdata:Relationship 註釋,指定這兩個元素之間的父子關聯性。 在此情況下,必須使用 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>
對應程式會於 DataSet 使用 Relationship 元素,在 Order 資料表中的 OrderNumber 資料行與 OrderDetail 資料表中的 OrderNo 資料行之間建立父子關聯性。 對應處理只會指定關係,而不會像關聯式資料庫的主索引鍵/外部索引鍵條件約束一樣,自動為這些資料行的值指定任何條件約束。
本節內容
在巢狀結構描述項目之間進行隱含關聯對應
描述在 XML 結構描述遇到巢狀專案時,隱含建立於 DataSet 的限制式和關聯性。
針對巢狀項目指定的關聯進行對應
描述如何在 XML 結構描述中,針對巢狀元素,於 DataSet 明確設定關聯性。
指定未巢狀放置之項目間的關聯
描述如何在非巢狀的 XML 結構描述元素之間,於 DataSet 建立關聯性。
相關章節
從 XML 結構描述 (XSD) 衍生資料集關聯式結構
描述從 XML 構描述定義語言 (XSD) 架構建立的 DataSet 的關聯式結構或架構。
將 XML 結構描述 (XSD) 條件約束對應至資料集條件約束
描述 XML 架構專案,用來於 DataSet 建立唯一和外部索引鍵的限制式。
另請參閱
- ADO.NET 概觀 \(部分機器翻譯\)