コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }