首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

xml schema生成dataset时,遇到"The same table cannot be the child table in two nes

2012-04-18 
xml schema生成dataset时,遇到The same table cannot be the child table in two nested relations问题

xml schema生成dataset时,遇到"The same table cannot be the child table in two nested relations"问题
如题。
我自己设计的xml schema.我根据这个xsd 文件生成了一个dataset 类(Entry)。 
我在web service中声明了一个web method, 将这个dataset类作为返回值。当我尝试运行这个web service的时候,出现了exception: The same table 'XXX' cannot be the child table in two nested relations.
然后我回去看自己的schema 设计,使用xml编辑器察看,没觉得有重复的命名; 使用dataset编辑器察看,发现特别多的relation 在图中,我根本无从知道什么引起了这个错误。这究竟是什么原因呢?

另我使用的vs2008.

我的schema大概是这个样子:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema >
   
  <xs:element name="CatalogEntry" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="MyEntry" msprop:Generator_DataSetName="MyEntry">
  <xs:complexType>
  <xs:sequence>
  <xs:element name="GeneralProperty">
  <xs:complexType>
  <xs:sequence>  
  <xs:element name="Formation" type="xs:string">
  </xs:element>
  <xs:element name="Depth" type="xs:string">
  </xs:element>
  <xs:element name="Age" type="xs:string">
  </xs:element>  
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  <xs:element name="Mercury">
  <xs:complexType>
  <xs:sequence>
  <xs:element name="Porosity" type="ctDoubleMeasure" />
  <xs:element name="Permeability" type="ctDoubleMeasure" />
  <xs:element name="Data" type="ctMercuryData" />  
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  <xs:element name="ABCT1Saturation" type="ABCMeasurement" />
  <xs:element name="ABCT2-1Saturation" type="ABCMeasurement" />
  <xs:element name="ABCT2-2Saturation" type="ABCMeasurement" />
  <xs:element name="ABCT2-3Saturation" type="ABCMeasurement" />  
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  <xs:complexType name="ctDoubleMeasure">
  <xs:sequence>
  <xs:element name="Value" type="xs:double" />
  <xs:element name="Unit" type="xs:string" />
  </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ctMercuryData">
  <xs:sequence>
  <xs:element name="Pressure" type="xs:double" />
  <xs:element name="Function" type="xs:double" />
  </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ABCMeasurement">
  <xs:sequence>  
  <xs:element name="SaturationCondition" type="ctDoubleMeasure" />  
  <xs:element name="CoreAnalysisPermeability" type="ctDoubleMeasure" />
  <xs:element name="CoreAnalysisPorosity" type="ctDoubleMeasure" />  
  <xs:choice>
  <xs:element name="T1m1" type="ctDoubleMeasure" />


  <xs:element name="T2m1" type="ctDoubleMeasure" />
  </xs:choice>
  <xs:element name="Condition" type="xs:string" />
  <xs:element name="ABCDistribution" type="xs:string" />
  <xs:element name="ABCDistributionData" type="ABCDataArray" />
  </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ABCDataArray">
  <xs:sequence>
  <xs:element name="t" type="xs:double" />
  <xs:element name="Amplitude" type="xs:double" />
  </xs:sequence>
  </xs:complexType>
</xs:schema>

请指教!谢谢!

[解决办法]
帮你顶一下
[解决办法]
我查的资料:关键字:”同一个表不能是两个嵌套关系中的子表“

这是两个表,A表名称与其他表--B表中的字段名称相同导致的
把B表中的字段名称改了 就不会再出此错误了 !

热点排行