Beispiel #1
0
        public static bool TryCreate(string dbType, out IntegerMsSqlColumnType returnValue)
        {
            switch (dbType)
            {
            case "bit":
                returnValue = new IntegerMsSqlColumnType(IntegerTypes.Bit);
                return(true);

            case "tinyint":
                returnValue = new IntegerMsSqlColumnType(IntegerTypes.TinyInt);
                return(true);

            case "smallint":
                returnValue = new IntegerMsSqlColumnType(IntegerTypes.SmallInt);
                return(true);

            case "int":
                returnValue = new IntegerMsSqlColumnType(IntegerTypes.Int);
                return(true);

            case "bigint":
                returnValue = new IntegerMsSqlColumnType(IntegerTypes.BigInt);
                return(true);

            default:
                returnValue = null;
                return(false);
            }
        }
Beispiel #2
0
        public static MsSqlColumnType Create(string databaseType)
        {
            var dbType = databaseType.ToLowerInvariant();

            if (IntegerMsSqlColumnType.TryCreate(dbType, out var integerType))
            {
                return(integerType);
            }

            if (FloatingPointMsSqlColumnType.TryCreate(dbType, out var floatingType))
            {
                return(floatingType);
            }

            if (DecimalMsSqlColumnType.TryCreate(dbType, out var decimalType))
            {
                return(decimalType);
            }

            if (DateTimeMsSqlColumnType.TryCreate(dbType, out var dateTimeType))
            {
                return(dateTimeType);
            }

            if (VarCharMsSqlColumnType.TryCreate(dbType, out var varcharType))
            {
                return(varcharType);
            }

            if (TextMsSqlColumnType.TryCreate(dbType, out var textType))
            {
                return(textType);
            }

            throw new NotImplementedException($"The database type \'{dbType}\' is not yet supported");
        }