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 @result
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
切克闹21628686