DataSet 스키마를 설명하는 xsd 파일이 있습니다. DataSet을 xml 파일로 디스크에 읽고 쓸 수 있습니다. 필자는 손에서 스키마를 작성하지 않고 XML 파일을 손으로 작성하고 xml 파일에서 스키마를 유추 한 다음 xsd 스키마를 작성했습니다. (일부 amazon.com 물건이 여기에 무슨) 어쨌든 여기xsd에서 해석 된 DataSet 스키마의 문제점
스키마입니다 (나는 ...이 꽤 새로운 오전) :
데이터 집합 스키마를 읽어<?xml version="1.0" standalone="yes"?>
<xs:schema id="Items" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="Items" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Item">
<xs:complexType>
<xs:sequence>
<xs:element name="ASIN" type="xs:string" />
<xs:element name="Title" type="xs:string" />
<xs:element name="Offer" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="MerchantName" type="xs:string" />
<xs:element name="Price" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
, 그것은 연결된 두 개의 테이블을 생성 ad-hoc 키에 의해 각 Item에 고유 한 Item_Id라는 이름으로 생성되고 Offer에 매핑됩니다. 그래서 열이있는 항목 테이블 (ASIN, Title, Item_Id)과 열이있는 Offer 테이블 (MerchantName, Price, Item_Id)을 얻습니다.
여기에서 문제는 ASIN이 이미 항목에 대한 고유 식별자이므로 스키마 가져 오기 프로세스가 일부 중복성을 도입하고 코드를 필요 이상으로 어색하게 만듭니다. 이 스키마를 어떻게 변경하여 (ASIN, Title) 및 (ASIN, MerchantName, Price) 테이블 2 개로 끝낼 수 있습니까?
감사합니다.
C# .NET을 같은 것은 없다. 오직 C#. –