阅读背景:

利用SQL生成模型实体类

来源:互联网 
declare @TableName sysname = "TableName"
declare @Result varchar(max) = "public class " + @TableName + "
{"

select @Result = @Result + "
    public " + ColumnType + NullableSign + " " + ColumnName + " { get; set; }
"
from
(
    select
        replace(col.name, " ", "_") ColumnName,
        column_id ColumnId,
        case typ.name
            when "bigint" then "long"
            when "binary" then "byte[]"
            when "bit" then "bool"
            when "char" then "string"
            when "date" then "DateTime"
            when "datetime" then "DateTime"
            when "datetime2" then "DateTime"
            when "datetimeoffset" then "DateTimeOffset"
            when "decimal" then "decimal"
            when "float" then "float"
            when "image" then "byte[]"
            when "int" then "int"
            when "money" then "decimal"
            when "nchar" then "char"
            when "ntext" then "string"
            when "numeric" then "decimal"
            when "nvarchar" then "string"
            when "real" then "double"
            when "smalldatetime" then "DateTime"
            when "smallint" then "short"
            when "smallmoney" then "decimal"
            when "text" then "string"
            when "time" then "TimeSpan"
            when "timestamp" then "DateTime"
            when "tinyint" then "byte"
            when "uniqueidentifier" then "Guid"
            when "varbinary" then "byte[]"
            when "varchar" then "string"
            else "UNKNOWN_" + typ.name
        end ColumnType,
        case
            when col.is_nullable = 1 and typ.name in ("bigint", "bit", "date", "datetime", "datetime2", "datetimeoffset", "decimal", "float", "int", "money", "numeric", "real", "smalldatetime", "smallint", "smallmoney", "time", "tinyint", "uniqueidentifier")
            then "?"
            else ""
        end NullableSign
    from sys.columns col
        join sys.types typ on
            col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id
    where object_id = object_id(@TableName)
) t
order by ColumnId

set @Result = @Result  + "
}"

print @Resultdeclare @TableName sysname = "TableName"
declare @



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: