private static void InitSchemaColumn(SchemaColumn col, SchemaTable schemaTable, string columnName, string schemaColumnName = "", int ordinalSequence = -1, string defaultValue = null, bool isNullable = false, bool isRequired = false)
 {
     col.SchemaTable = schemaTable;
     col.ColumnName = columnName;
     col.SchemaColumnName = schemaColumnName;
     col.OrdinalSequence = ordinalSequence;
     col.DefaultValue = defaultValue;
     col.IsNullable = isNullable;
     col.IsRequired = isRequired;
 }
Beispiel #2
0
 protected string GetSqlServerCreateTableField(SchemaColumn schemaColumn)
 {
     //[Company] [varchar](8) NULL,
     return string.Format("[{0}] [{1}]{2}{3}", schemaColumn.SchemaColumnName,
                          GetSqlServerColumnDataType(schemaColumn),
                          GetSqlServerColumnSize(schemaColumn), schemaColumn.IsNullable ? " NULL" : string.Empty);
 }
Beispiel #3
0
        protected string GetSqlServerColumnSize(SchemaColumn schemaColumn)
        {
            switch (schemaColumn.DbType)
            {
                case DbType.AnsiString:
                case DbType.AnsiStringFixedLength:
                case DbType.String:
                case DbType.StringFixedLength:
                    var textColumn = schemaColumn as TextSchemaColumn;
                    if (textColumn != null && textColumn.MaxLength <= 100)
                    {
                        return string.Format("({0})", textColumn.MaxLength);
                    }
                    else
                    {
                        return "(max)";
                    }
                    break;

                case DbType.Binary:
                case DbType.Object:
                    return "(max)";
                    break;

                case DbType.Currency:
                case DbType.Decimal:
                case DbType.VarNumeric:
                    var decimalColumn = schemaColumn as DecimalSchemaColumn;
                    if (decimalColumn != null)
                    {
                        return string.Format("({0},{1})", decimalColumn.Precision, decimalColumn.Scale);
                    }
                    else
                    {
                        return "(28,8)";
                    }
                    break;

                case DbType.Byte:
                case DbType.SByte:
                case DbType.Boolean:
                case DbType.Date:
                case DbType.DateTime:
                case DbType.DateTimeOffset:
                case DbType.Double:
                case DbType.Guid:
                case DbType.Int16:
                case DbType.UInt16:
                case DbType.Int32:
                case DbType.UInt32:
                case DbType.Int64:
                case DbType.UInt64:
                case DbType.Single:
                case DbType.Time:
                case DbType.Xml:
                case DbType.DateTime2:
                    return string.Empty;
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
            }
        }
Beispiel #4
0
        protected string GetSqlServerColumnDataType(SchemaColumn schemaColumn)
        {
            switch (schemaColumn.DbType)
            {
                case DbType.AnsiString:
                case DbType.AnsiStringFixedLength:
                case DbType.String:
                case DbType.StringFixedLength:
                    return "varchar";
                    break;

                case DbType.Binary:
                case DbType.Object:
                    return "varbinary";
                    break;

                case DbType.Byte:
                case DbType.SByte:
                    return "tinyint";
                    break;

                case DbType.Boolean:
                    return "bit";
                    break;

                case DbType.Currency:
                case DbType.Decimal:
                case DbType.VarNumeric:
                    return "decimal";
                    break;

                case DbType.Date:
                case DbType.DateTime:
                case DbType.DateTimeOffset:
                    return "date";
                    break;

                case DbType.Double:
                    return "real";
                    break;

                case DbType.Guid:
                    return "uniqueid";
                    break;

                case DbType.Int16:
                case DbType.UInt16:
                    return "smallint";
                    break;

                case DbType.Int32:
                case DbType.UInt32:
                    return "int";
                    break;

                case DbType.Int64:
                case DbType.UInt64:
                    return "bigint";
                    break;

                case DbType.Single:
                    return "float";
                    break;

                case DbType.Time:
                    return "Time";
                    break;

                case DbType.Xml:
                    return "xml";
                    break;

                case DbType.DateTime2:
                    return "DateTime2";
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
            }
        }