推断限制 (ADO.NET)

更新:November 2007

根据每个文档中的 XML 元素,从 XML 推断 DataSet 架构的过程会产生不同的架构。 例如,考虑以下 XML 文档。

Document1:

<DocumentElement>
  <Element1>Text1</Element1>
  <Element1>Text2</Element1>
</DocumentElement>

Document2:

<DocumentElement>
  <Element1>Text1</Element1>
</DocumentElement>

对于“Document1”,由于“Element1”是重复元素,推断过程将生成一个名为“DocumentElement”的 DataSet 和一个名为“Element1”的表。

数据集: DocumentElement

表: Element1

Element1_Text

Text1

Text2

但是,对于“Document2”,推断过程将生成一个名为“NewDataSet”的 DataSet 和一个名为“DocumentElement”的表。 由于“Element1”不具有属性和子元素,它将被推断为列。

数据集: NewDataSet

表: DocumentElement

Element1

Text1

这两个 XML 文档可能本应生成相同的架构,但根据每个文档中包含的不同元素,推断过程生成了极不相同的结果。

为了避免在从 XML 文档生成架构时可能出现的差异,建议在从 XML 中加载 DataSet 时使用 XML 架构定义语言 (XSD) 或 XML 数据缩减 (XDR) 显式地指定架构。 有关使用 XML 架构显式指定 DataSet 架构的更多信息,请参见从 XML 架构 (XSD) 派生数据集关系结构

请参见

概念

从 XML 中加载数据集 (ADO.NET)

从 XML 中加载数据集架构信息 (ADO.NET)

其他资源

从 XML 推断数据集关系结构 (ADO.NET)

在数据集中使用 XML (ADO.NET)

DataSet、DataTable 和 DataView (ADO.NET)