The inference process first determines, from the XML document, which elements will be inferred as tables. From the remaining XML, the inference process determines the columns for those tables. For nested tables, the inference process generates nested DataRelations and ForeignKeyConstraints.
Following is a brief summary of inference rules:
Elements that have attributes are inferred as tables.
Elements that have child elements are inferred as tables.
Elements that repeat are inferred as a single table.
If the document, or root, element has no attributes, and no child elements that would be inferred as columns, it is inferred as a DataSet. Otherwise, the document element is inferred as a table.
Attributes are inferred ...