public static TNext AsMySqlVarchar <TNext>(this IColumnTypeSyntax <TNext> columnTypeSyntax, Int16 max)
            where TNext : IFluentSyntax
        {
            string varcharType = $"VARCHAR({max})";

            return(columnTypeSyntax.AsCustom(varcharType));
        }
    public static TNext AsMySqlVarchar <TNext>(
        this IColumnTypeSyntax <TNext> columnTypeSyntax,
        Int16 max
        )
        where TNext : IFluentSyntax
    {
        var varcharType = $"VARCHAR({max}) COLLATE utf8mb4_bin";

        return(columnTypeSyntax.AsCustom(varcharType));
    }
Пример #3
0
 public static TNext AsDatabaseBlob <TNext>(this IColumnTypeSyntax <TNext> column, MigrationModel model)
     where TNext : IFluentSyntax
 {
     return(model.AsDatabaseBlob(column));
 }
 /// <summary>
 /// Defines the column type as unicode string of max size
 /// </summary>
 /// <typeparam name="TNext"></typeparam>
 /// <param name="columnSyntax"></param>
 /// <returns></returns>
 public static TNext AsStringMax <TNext>(this IColumnTypeSyntax <TNext> columnSyntax) where TNext : IFluentSyntax
 {
     return(columnSyntax.AsString(1073741823));
 }
Пример #5
0
 public static ICreateTableColumnOptionOrWithColumnSyntax AsSerial(this IColumnTypeSyntax <ICreateTableColumnOptionOrWithColumnSyntax> columnTypeSyntax)
 => columnTypeSyntax.AsCustom("serial");
Пример #6
0
 public static ICreateTableColumnOptionOrWithColumnSyntax AsText(this IColumnTypeSyntax <ICreateTableColumnOptionOrWithColumnSyntax> columnTypeSyntax)
 => columnTypeSyntax.AsCustom("text");
Пример #7
0
 public static ICreateTableColumnOptionOrWithColumnSyntax AsTimestamp2(this IColumnTypeSyntax <ICreateTableColumnOptionOrWithColumnSyntax> columnTypeSyntax)
 => columnTypeSyntax.AsCustom("timestamp(2)");
 public static TNext AsMySqlMediumText <TNext>(this IColumnTypeSyntax <TNext> createTableColumnAsTypeSyntax)
     where TNext : IFluentSyntax
 {
     return(createTableColumnAsTypeSyntax.AsCustom("MEDIUMTEXT"));
 }
 public static TNext AsMySqlTimestamp <TNext>(this IColumnTypeSyntax <TNext> createTableColumnAsTypeSyntax)
     where TNext : IFluentSyntax
 {
     return(createTableColumnAsTypeSyntax.AsCustom("TIMESTAMP"));
 }
        public static TNext GetTypedColumn <TNext>(IColumnTypeSyntax <TNext> column, DbType dbType, int size)
            where TNext : IFluentSyntax
        {
            switch (dbType)
            {
            case DbType.AnsiString:
                return(column.AsAnsiString(size));

            case DbType.Binary:
                return(column.AsBinary(size));

            case DbType.Byte:
                return(column.AsByte());

            case DbType.Boolean:
                return(column.AsBoolean());

            case DbType.Currency:
                return(column.AsCurrency());

            case DbType.Date:
                return(column.AsDate());

            case DbType.DateTime:
                return(column.AsDateTime());

            case DbType.Decimal:
                return(column.AsDecimal());

            case DbType.Double:
                return(column.AsDouble());

            case DbType.Guid:
                return(column.AsGuid());

            case DbType.Int16:
                return(column.AsInt16());

            case DbType.Int32:
                return(column.AsInt32());

            case DbType.Int64:
                return(column.AsInt64());

            case DbType.Object:
                throw new NotSupportedException();

            case DbType.SByte:
                throw new NotSupportedException();

            case DbType.Single:
                return(column.AsDouble());

            case DbType.String:
                return(column.AsString(size));

            case DbType.Time:
                return(column.AsTime());

            case DbType.UInt16:
                throw new NotSupportedException();

            case DbType.UInt32:
                throw new NotSupportedException();

            case DbType.UInt64:
                throw new NotSupportedException();

            case DbType.VarNumeric:
                throw new NotSupportedException();

            case DbType.AnsiStringFixedLength:
                return(column.AsFixedLengthAnsiString(size));

            case DbType.StringFixedLength:
                return(column.AsFixedLengthString(size));

            case DbType.Xml:
                return(column.AsXml(size));

            case DbType.DateTime2:
                return(column.AsDateTime());

            case DbType.DateTimeOffset:
                throw new NotSupportedException();

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Пример #11
0
 /// <summary>
 /// Set datetime dataType (depended of type of database)
 /// </summary>
 /// <param name="syntax"></param>
 /// <param name="model"></param>
 /// <typeparam name="TNext"></typeparam>
 /// <returns></returns>
 // ReSharper disable once UnusedMember.Global
 public static TNext AsDatabaseDateTime <TNext>(this IColumnTypeSyntax <TNext> syntax, MigrationModel model)
     where TNext : IFluentSyntax
 {
     return(model.AsDatabaseDateTime(syntax));
 }
Пример #12
0
 public static IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax AsMaxString(this IColumnTypeSyntax <IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax> columnTypeSyntax)
 {
     return(columnTypeSyntax.AsCustom("nvarchar(max)"));
 }
Пример #13
0
 public static ICreateTableColumnOptionOrWithColumnSyntax AsMaxVarBinary(this IColumnTypeSyntax <ICreateTableColumnOptionOrWithColumnSyntax> columnTypeSyntax)
 {
     return(columnTypeSyntax.AsCustom("varbinary(max)"));
 }
Пример #14
0
 public static ICreateTableColumnOptionOrWithColumnSyntax AsMaxString(this IColumnTypeSyntax <ICreateTableColumnOptionOrWithColumnSyntax> columnTypeSyntax)
 {
     return(columnTypeSyntax.AsCustom("nvarchar(max)"));
 }