数据库表转实体类
程序员文章站
2024-03-24 18:24:16
...
将表明更改成要转的表,运行sql语句,实体类会输出在结果窗口中
declare @TableName sysname = '表名'
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 'string'
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
效果图
推荐阅读
-
数据库表转实体类
-
ORACLE数据泵 expdp/impdp使用详解(转) 博客分类: 数据库数据库 oracle 开发
-
ORACLE数据泵 expdp/impdp使用详解(转) 博客分类: 数据库数据库 oracle 开发
-
达梦数据库表简单测试
-
django后端直接更新数据库, 像实体类一样直接更新
-
oracle 使用sql语句向表中添加字段 博客分类: 数据库ORACLE oraclesql表中添加字段
-
[转]db2move数据库导出导入 博客分类: DB2 db2db2moveexportloadbackup
-
postgresql相应的表备份语句 博客分类: 数据库postgresql PostgreSQL
-
Mybatis-Plus之自动填充(数据库表中更新,创建时间)
-
MySQL学习之——锁(行锁、表锁、页锁、乐观锁、悲观锁等) 博客分类: 数据库