示例#1
0
        private string _getSqlType(MBColumn c)
        {
            switch (c.Type)
            {
            case _Types.t_bit:
            case _Types.t_boolean:
            case _Types.t_tinyint:
            case _Types.t_smallint:
            case _Types.t_year:
            case _Types.t_int:
            case _Types.t_integer:
            case _Types.t_mediumint:
            case _Types.t_bigint:
            case _Types.t_float:
            case _Types.t_double:
            case _Types.t_real:
            case _Types.t_rowversion:
            case _Types.t_dec:
            case _Types.t_fixed:
            case _Types.t_serial:
            case _Types.t_date:
            case _Types.t_datetime:
            case _Types.t_timestamp:
            case _Types.t_smalldatetime:
            case _Types.t_image:
            case _Types.t_money:
            case _Types.t_smallmoney:
            case _Types.t_uniqueidentifier:
            case _Types.t_tinytext:
            case _Types.t_text:
            case _Types.t_mediumtext:
            case _Types.t_longtext:
            case _Types.t_set:
            case _Types.t_enum:
            case _Types.t_ntext:
            case _Types.t_xml:
            case _Types.t_blob:
            case _Types.t_tinyblob:
            case _Types.t_mediumblob:
            case _Types.t_longblob:
            case _Types.t_spatial_geometry:
            case _Types.t_spatial_geography:
            case _Types.t_sql_variant:
                return(c.Type);

            case _Types.t_datetime2:
            case _Types.t_datetimeoffset:
            case _Types.t_time:
                return($"{c.Type}({c.DateTimePrecision})");

            case _Types.t_numeric:
            case _Types.t_decimal:
                return($"{c.Type}({c.NumericPrecision},{c.NumericScale})");

            case _Types.t_char:
            case _Types.t_varchar:
            case _Types.t_nchar:
            case _Types.t_nvarchar:
            case _Types.t_binary:
            case _Types.t_varbinary:
                return($"{c.Type}({c.CharMaxLength})");
            }

            return(string.Empty);
        }
示例#2
0
        private string _getType(MBColumn c)
        {
            switch (c.Type)
            {
            case _Types.t_bit:
            case _Types.t_boolean:
                return((c.Nullable) ? "bool?" : "bool");

            case _Types.t_tinyint:
                return((c.Nullable) ? "byte?" : "byte");

            case _Types.t_smallint:
                return((c.Nullable) ? "short?" : "short");

            case _Types.t_year:
                return((c.Nullable) ? "short?" : "short");

            case _Types.t_int:
                return((c.Nullable) ? "int?" : "int");

            case _Types.t_integer:
                return((c.Nullable) ? "int?" : "int");

            case _Types.t_mediumint:
                return((c.Nullable) ? "int?" : "int");

            case _Types.t_bigint:
                return((c.Nullable) ? "long?" : "long");

            case _Types.t_float:
                return((c.Nullable) ? "double?" : "double");

            case _Types.t_double:
            case _Types.t_real:
                return((c.Nullable) ? "float?" : "float");

            case _Types.t_rowversion:
                return("byte[]");

            case _Types.t_numeric:
            case _Types.t_decimal:
            case _Types.t_dec:
            case _Types.t_fixed:
            case _Types.t_serial:
                return((c.Nullable) ? "decimal?" : "decimal");

            case _Types.t_date:
            case _Types.t_datetime:
            case _Types.t_datetime2:
                return((c.Nullable) ? "DateTime?" : "DateTime");

            case _Types.t_timestamp:
                if (_Context.IsMySql)
                {
                    return((c.Nullable) ? "DateTime?" : "DateTime");
                }
                return("byte[]");

            case _Types.t_datetimeoffset:
                return((c.Nullable) ? "DateTimeOffset?" : "DateTimeOffset");

            case _Types.t_time:
                return((c.Nullable) ? "TimeSpan?" : "TimeSpan");

            case _Types.t_smalldatetime:
                return((c.Nullable) ? "DateTime?" : "DateTime");

            case _Types.t_image:
                return("byte[]");

            case _Types.t_money:
            case _Types.t_smallmoney:
                return((c.Nullable) ? "decimal?" : "decimal");

            case _Types.t_uniqueidentifier:
                return((c.Nullable) ? "Guid?" : "Guid");

            case _Types.t_char:
                return("string");

            case _Types.t_varchar:
            case _Types.t_tinytext:
            case _Types.t_text:
            case _Types.t_mediumtext:
            case _Types.t_longtext:
            case _Types.t_set:
            case _Types.t_enum:
            case _Types.t_nchar:
            case _Types.t_nvarchar:
            case _Types.t_ntext:
            case _Types.t_xml:
                return("string");

            case _Types.t_binary:
            case _Types.t_varbinary:
            case _Types.t_tinyblob:
            case _Types.t_blob:
            case _Types.t_mediumblob:
            case _Types.t_longblob:
                return("byte[]");

            case _Types.t_spatial_geometry:
                return((c.Nullable) ? "Nullable<System.Data.Spatial.DbGeometry>" : "System.Data.Spatial.DbGeometry");

            case _Types.t_spatial_geography:
                return((c.Nullable) ? "Nullable<System.Data.Spatial.DbGeography>" : "System.Data.Spatial.DbGeography");

            case _Types.t_sql_variant:
                return("object");
            }

            return(string.Empty);
        }