public void LoadTableDefinitions(string file) { BasicTableDefinitions tableDefinitions = XmlFile <BasicTableDefinitions> .Load(file); this.m_DbVersionLocation = tableDefinitions.DBVersion; foreach (BasicTableDefinition table in tableDefinitions.Tables) { if (table.Name == null) { throw new ArgumentNullException("tableDef.Name", "Did you mis-type the Name attribute of the table with MainDataHolder = " + table.MainDataHolder + " ?"); } if (this.TableDefinitionMap.ContainsKey(table.Name)) { throw new DataHolderException("Duplicate Table definition \"{0}\" in File {1}", new object[2] { (object)table.Name, (object)file }); } Dictionary <string, ArrayConstraint> arrayConstraints = new Dictionary <string, ArrayConstraint>(); if (table.ArrayConstraints != null) { foreach (ArrayConstraint arrayConstraint in table.ArrayConstraints) { arrayConstraints.Add(arrayConstraint.Column, arrayConstraint); } } PrimaryColumn[] primaryColumns = table.PrimaryColumns; if (primaryColumns == null || primaryColumns.Length == 0) { throw new DataHolderException( "TableDefinition did not define any PrimaryColumns: " + (object)table, new object[0]); } TableDefinition tableDefinition = new TableDefinition(table.Name, primaryColumns, arrayConstraints, table.Variables ?? VariableDefinition.EmptyArray) { MainDataHolderName = table.MainDataHolder }; this.TableDefinitionMap.Add(table.Name, tableDefinition); } }
public void LoadTableDefinitions(string file) { var cfg = BasicTableDefinitions.Load(file); m_DbVersionLocation = cfg.DBVersion; foreach (var tableDef in cfg.Tables) { if (tableDef.Name == null) { throw new ArgumentNullException("tableDef.Name", "Did you mis-type the Name attribute of the table with MainDataHolder = " + tableDef.MainDataHolder + " ?"); } if (TableDefinitionMap.ContainsKey(tableDef.Name)) { throw new DataHolderException("Duplicate Table definition \"{0}\" in File {1}", tableDef.Name, file); } var arrayConstraints = new Dictionary <string, ArrayConstraint>(); if (tableDef.ArrayConstraints != null) { foreach (var arrayConstraint in tableDef.ArrayConstraints) { arrayConstraints.Add(arrayConstraint.Column, arrayConstraint); } } var primaryColumns = tableDef.PrimaryColumns; if (primaryColumns == null || primaryColumns.Length == 0) { throw new DataHolderException("TableDefinition did not define any PrimaryColumns: " + tableDef); } var table = new TableDefinition(tableDef.Name, primaryColumns, arrayConstraints, tableDef.Variables ?? VariableDefinition.EmptyArray) { MainDataHolderName = tableDef.MainDataHolder }; TableDefinitionMap.Add(tableDef.Name, table); } }