從 XML 結構描述 (XSD) 產生 DataSet 關聯
您可以在 DataSet 內建立父子關係,以建立兩個或多個資料行之間的關聯。有三種方法可表示 XML 結構描述定義語言 (XSD) 結構描述內的 DataSet 關聯:
指定巢狀複雜型別。
使用 msdata:Relationship 註釋。
指定 xs:keyref 且不使用 msdata:ConstraintOnly 註釋。
巢狀複雜型別
結構描述中定義的巢狀複雜型別表示項目間的父子關係。下列 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 內建立的資料表,該資料表對應至結構描述中的巢狀複雜型別。它也會建立其他的資料行,作為所產生之資料表的父子資料行。請注意,這些父子資料行可指定關聯性,這與指定 key/foreign key 條件約束的功能不同。
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>
對應處理會使用 Relationship 項目,於 DataSet 中 Order 資料表的 OrderNumber 資料行,以及 OrderDetail 資料表的 OrderNo 資料行間建立父子關係。對應處理只會指定關聯性,而不會像關聯式資料庫的 key/foreign key 條件約束一樣,自動為這些資料行的值指定任何條件約束。
本節內容
- 對應巢狀結構描述項目間的隱含關聯
說明當 XML 結構描述中有巢狀項目時,在 DataSet 中隱含建立的條件約束和關聯。
- 對應針對巢狀項目所指定的關聯
說明如何在 DataSet 中為 XML 結構描述的巢狀項目明確設定關聯。
- 指定無巢狀項目間的關聯
說明如何在 DataSet 中,建立無巢狀的 XML 結構描述項目間的關聯。
相關章節
- 從 XML 結構描述 (XSD) 產生 DataSet 關聯式結構
說明 XML 結構描述定義語言 (XSD) 的結構描述所建立的 DataSet 關聯式結構 (或結構描述)。
- 將 XML 結構描述 (XSD) 條件約束對應至 DataSet 條件約束
說明用來在 DataSet 內建立 unique 和 foreign key 條件約束的 XML 結構描述項目。