推理过程首先从 XML 文档中确定哪些元素将推断为表。 从余下的 XML 中,推理步骤确定这些表的字段。 对于嵌套表,推理过程将生成嵌套 DataRelation 和 ForeignKeyConstraint 对象。
下面是推理规则的简要摘要:
具有属性的元素被推断为表。
具有子元素的元素会被推断为表。
重复的元素被推断为单个表。
如果文档或根元素没有属性,也没有子元素被推断为列,则将其视为DataSet。 否则,文档元素将推断为表。
属性被视为列。
没有属性或子元素且不重复的元素被推断为列。
对于被推断为嵌套表的其他元素(也称为表)中的元素,将在两个表之间创建嵌套
DataRelation表。 名为的新主键列TableName_Id将添加到两个表,并由 DataRelation 使用。 在两个表之间使用TableName_Id列创建ForeignKeyConstraint。对于被推断为表且包含文本但不包含子元素的元素,将为每个元素的文本创建一
TableName_Text个名为的新列。 如果元素被推断为表并具有文本,但也有子元素,则忽略文本。