Aracılığıyla paylaş


XML Şemasından (XSD) DataSet İlişkileri Oluşturma

içinde DataSet, üst-alt ilişki oluşturarak iki veya daha fazla sütun arasında bir ilişki oluşturursunuz. XML Şema tanım dili (XSD) şemasında DataSet ilişkisini temsil etmenin üç yolu vardır:

  • İç içe karmaşık türleri belirtin.

  • msdata:Relationship ek açıklamasını kullanın.

  • msdata:ConstraintOnly ek açıklaması olmadan bir xs:keyref belirtin.

İç İçe Yerleştirilmiş Karmaşık Türler

Bir şemada iç içe yerleştirilmiş karmaşık tür tanımları, öğelerin üst-alt ilişkilerini gösterir. Aşağıdaki XML Şeması parçası, OrderDetail öğesinin Order öğesinin alt öğesi olduğunu gösterir.

<xs:element name="Order">  
  <xs:complexType>  
     <xs:sequence>
       <xs:element name="OrderDetail" />  
           <xs:complexType>
           </xs:complexType>  
     </xs:sequence>  
  </xs:complexType>  
</xs:element>  

XML Şeması eşleme işlemi, DataSet'te şemadaki iç içe yerleştirilmiş karmaşık türlere karşılık gelen tablolar oluşturur. Ayrıca, oluşturulan tablolar için üst-alt sütun olarak kullanılan ek sütunlar da oluşturur. Bu üst-alt sütunların, birincil anahtar/yabancı anahtar kısıtlamalarını belirtmekle aynı olmayan ilişkileri belirttiğini unutmayın.

msdata:İlişki Ek Açıklaması

msdata:relationship ek açıklaması, şemadaki öğeler arasında iç içe olmayan üst-alt ilişkileri açıkça belirtmenize olanak tanır. Aşağıdaki örnekte İlişki öğesinin yapısı gösterilmektedir.

<msdata:Relationship name="CustOrderRelationship"
msdata:parent=""
msdata:child=""
msdata:parentkey=""
msdata:childkey="" />  

msdata:relationship ek açıklamasının öznitelikleri, üst-alt ilişkide yer alan öğelerin yanı sıra ilişkide yer alan üst anahtar ve alt anahtar öğelerini ve özniteliklerini tanımlar. Eşleme işlemi, DataSet'te tablolar oluşturmak ve bu tablolar arasında birincil anahtar/yabancı anahtar ilişkisi oluşturmak için bu bilgileri kullanır.

Örneğin, aşağıdaki şema parçası Order ve OrderDetail öğelerini aynı düzeyde (iç içe değil) belirtir. Şema, bu iki öğe arasındaki üst-alt ilişkiyi belirten bir msdata:relationship ek açıklaması belirtir. Bu durumda msdata:relationship ek açıklaması kullanılarak açık bir ilişki belirtilmelidir.

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

Eşleme işlemi, Order tablosundaki OrderNumber sütunu ile DataSet'teki OrderDetail tablosundaki OrderNo sütunu arasında bir üst-alt ilişki oluşturmak için İlişki öğesini kullanır. Eşleme işlemi yalnızca ilişkiyi belirtir; ilişkisel veritabanlarındaki birincil anahtar/yabancı anahtar kısıtlamaları gibi bu sütunlardaki değerlerde otomatik olarak herhangi bir kısıtlama belirtmez.

Bu Bölümde

İç İçe Geçmiş Şema Öğeleri Arasında Örtük İlişkileri Eşleme
XML Şemasında iç içe öğelerle karşılaşıldığında bir DataSet'te örtük olarak oluşturulan kısıtlamaları ve ilişkileri açıklar.

İç İçe Geçmiş Öğeler için Belirtilen İlişkileri Eşleme
XML Şemasında iç içe öğeler için Bir DataSet'te ilişkilerin açıkça nasıl ayarlandığını açıklar.

İç İçe Yerleştirme İçermeyen Öğeler Arasındaki İlişkileri Belirtme
DataSet'te iç içe yerleştirilmemiş XML Şeması öğeleri arasında ilişkilerin nasıl oluşturulacağını açıklar.

XML Şemasından (XSD) DataSet İlişkisel Yapısını Türetme
XML Şema tanım dili (XSD) şemasından oluşturulan bir DataSet'in ilişkisel yapısını veya şemasını açıklar.

XML Şeması (XSD) Kısıtlamalarını DataSet Kısıtlamaları ile Eşleme
DataSet'te benzersiz ve yabancı anahtar kısıtlamaları oluşturmak için kullanılan XML Şeması öğelerini açıklar.

Ayrıca bkz.