Exemple #1
0
        public Columns(string owner, string tableName)
        {
            _tableName = tableName;
            Owner      = owner;
            Sql        = @"select c.TABLE_SCHEMA, 
c.TABLE_NAME, 
COLUMN_NAME, 
ORDINAL_POSITION, 
COLUMN_DEFAULT, 
IS_NULLABLE, 
DATA_TYPE, 
CHARACTER_MAXIMUM_LENGTH, 
NUMERIC_PRECISION, 
NUMERIC_SCALE, 
DATETIME_PRECISION 
from INFORMATION_SCHEMA.COLUMNS c
JOIN INFORMATION_SCHEMA.TABLES t 
 ON c.TABLE_SCHEMA = t.TABLE_SCHEMA AND 
    c.TABLE_NAME = t.TABLE_NAME
where 
    (c.TABLE_SCHEMA = @Owner or (@Owner is null)) and 
    (c.TABLE_NAME = @TableName or (@TableName is null)) AND
    TABLE_TYPE = 'BASE TABLE'
 order by 
    c.TABLE_SCHEMA, c.TABLE_NAME, ORDINAL_POSITION";

            var keyMap = new ColumnsKeyMap();

            _converter = new ColumnRowConverter(keyMap);
        }
        public ViewColumns(string owner, string viewName, string[] additionalViewColumnPropertyNames, int commandTimeout) : base(additionalViewColumnPropertyNames, commandTimeout)
        {
            _viewName = viewName;
            Owner     = owner;
            Sql       = @"select c.TABLE_SCHEMA, 
c.TABLE_NAME, 
COLUMN_NAME, 
ORDINAL_POSITION, 
COLUMN_DEFAULT, 
IS_NULLABLE, 
DATA_TYPE, 
CHARACTER_MAXIMUM_LENGTH, 
NUMERIC_PRECISION, 
NUMERIC_SCALE, 
DATETIME_PRECISION 
from INFORMATION_SCHEMA.COLUMNS c
JOIN INFORMATION_SCHEMA.VIEWS v 
 ON c.TABLE_SCHEMA = v.TABLE_SCHEMA AND 
    c.TABLE_NAME = v.TABLE_NAME
where 
    (c.TABLE_SCHEMA = @Owner or (@Owner is null)) and 
    (c.TABLE_NAME = @TableName or (@TableName is null))
 order by 
    c.TABLE_SCHEMA, c.TABLE_NAME, ORDINAL_POSITION";

            var keyMap = new ColumnsKeyMap();

            _converter = new ColumnRowConverter(keyMap);
        }
Exemple #3
0
        public Columns(string owner, string tableName, string[] additionalPropertyNames, int commandTimeout) : base(additionalPropertyNames, commandTimeout)
        {
            _tableName = tableName;
            Owner      = owner;
            Sql        = @"select c.TABLE_SCHEMA, 
c.TABLE_NAME, 
c.COLUMN_NAME, 
c.ORDINAL_POSITION, 
c.COLUMN_DEFAULT, 
c.IS_NULLABLE, 
c.DATA_TYPE, 
c.CHARACTER_MAXIMUM_LENGTH, 
c.NUMERIC_PRECISION, 
c.NUMERIC_SCALE, 
c.DATETIME_PRECISION 
{0}
from INFORMATION_SCHEMA.COLUMNS c
JOIN INFORMATION_SCHEMA.TABLES t 
 ON c.TABLE_SCHEMA = t.TABLE_SCHEMA AND 
    c.TABLE_NAME = t.TABLE_NAME
{1}
where 
    (c.TABLE_SCHEMA = @Owner or (@Owner is null)) and 
    (c.TABLE_NAME = @TableName or (@TableName is null)) AND
    TABLE_TYPE = 'BASE TABLE'
 order by 
    c.TABLE_SCHEMA, c.TABLE_NAME, ORDINAL_POSITION";

            AdditionalPropertiesJoin = @"LEFT OUTER JOIN sys.tables syst 
              ON c.TABLE_SCHEMA = schema_name(syst.schema_id) AND 
                 c.TABLE_NAME = syst.name
           LEFT OUTER JOIN sys.columns {ai} ON 
                 syst.object_id = {ai}.object_id AND
                 c.COLUMN_NAME = {ai}.Name".Replace("{ai}", ADDITIONAL_INFO);

            var keyMap = new ColumnsKeyMap();

            _converter = new ColumnRowConverter(keyMap);
        }