private void ReadTable(XmlSchemaComplexType complexType, CremaDataTable dataTable) { if (this.version.Major == 3) { this.ReadTableInfo(complexType, dataTable); } else { this.ReadTableInfoVersion2(complexType, dataTable); } foreach (var item in complexType.GetAttributes()) { this.ReadAttribute(item, dataTable); } foreach (var item in complexType.GetSequenceElements()) { if (item.ElementSchemaType is XmlSchemaSimpleType) { this.ReadColumn(item, dataTable); } } dataTable.SchemaHashValue = this.hashValue; }
private void ReadChildTables(XmlSchemaComplexType complexType, CremaDataTable dataTable) { foreach (var item in complexType.GetSequenceElements()) { if (item.ElementSchemaType is XmlSchemaSimpleType == false) { var tableName = item.Name; var childTable = new CremaDataTable(tableName, dataTable.CategoryPath); childTable.BeginLoadInternal(); this.ReadTable(item.ElementSchemaType as XmlSchemaComplexType, childTable); childTable.EndLoadInternal(); childTable.Parent = dataTable; } } }