Inheritance: NamedConfigurationElement
        private void LoadColumn(ColumnElement columnElement, Table table)
        {
            if (columnElement == null)
                return;

            Columns.Add(new Tuple<string, string, DbType, int>(table.GetNameWithSchema(), columnElement.Name,DbTypeConverter.FromDataType(columnElement.DataType), columnElement.Length));
            if(columnElement.IsPrimaryKey)
            {
                PrimaryKeys.Add(new Tuple<string, string>(table.GetNameWithSchema(), columnElement.Name));
            }

            if(!string.IsNullOrWhiteSpace(columnElement.ForeignKey))
            {
                var parts = columnElement.ForeignKey.Split('.');
                var schemaName = parts.Length > 2 ? parts[0] : null;
                var objectName = parts.Length > 2 ? parts[1] : parts[0];
                var columnName = parts.Length > 2 ? parts[2] : parts[1];
                ForeignKeys.Add(new ForeignKey(new ObjectName(table.Schema, table.ActualName), new[] { columnElement.Name }, new ObjectName(schemaName, objectName), new[] { columnName }));
            }
        }
        private void LoadColumn(ColumnElement columnElement, Table table)
        {
            if (columnElement == null)
            {
                return;
            }

            Columns.Add(new Tuple <string, string, DbType, int>(table.GetNameWithSchema(), columnElement.Name, DbTypeConverter.FromDataType(columnElement.DataType), columnElement.Length));
            if (columnElement.IsPrimaryKey)
            {
                PrimaryKeys.Add(new Tuple <string, string>(table.GetNameWithSchema(), columnElement.Name));
            }

            if (!string.IsNullOrWhiteSpace(columnElement.ForeignKey))
            {
                var parts      = columnElement.ForeignKey.Split('.');
                var schemaName = parts.Length > 2 ? parts[0] : null;
                var objectName = parts.Length > 2 ? parts[1] : parts[0];
                var columnName = parts.Length > 2 ? parts[2] : parts[1];
                ForeignKeys.Add(new ForeignKey(new ObjectName(table.Schema, table.ActualName), new[] { columnElement.Name }, new ObjectName(schemaName, objectName), new[] { columnName }));
            }
        }