mysql快速生成.Net用的实体类DTO的cs内容

前言

最近才发现这个偷懒的思路,以前一直没想到可以这样用sql语法,浪费好多时间做重复性无意义的工作。。。话不多说了直接上代码,解决繁琐手敲实体类DTO代码问题,尤其是一些表字段很多的库表。参考以下sql其实也可以快速生成其他需要的东西(举一反三)。
——身为程序员必须得会偷懒!

SELECT
CONCAT(' /// <summary>
		 /// ',column_comment,' 
		 /// </summary>
'),
CASE
WHEN COLUMN_NAME='RecordId' THEN CONCAT('public string ',COLUMN_NAME,'{ get; set; } = Guid.NewGuid().ToString("N");')
WHEN DATA_TYPE LIKE '%char%' OR DATA_TYPE LIKE '%text%' THEN CONCAT('public string ',COLUMN_NAME,'{ get; set; }')
WHEN DATA_TYPE LIKE '%int%' THEN CONCAT('public int ',COLUMN_NAME,'{ get; set; }')
WHEN DATA_TYPE LIKE '%bit%' THEN CONCAT('public bool ',COLUMN_NAME,'{ get; set; }')
WHEN DATA_TYPE LIKE '%float%' THEN CONCAT('public decimal ',COLUMN_NAME,'{ get; set; }') 
WHEN DATA_TYPE LIKE '%decimal%' THEN CONCAT('public decimal ',COLUMN_NAME,'{ get; set; }') 
WHEN DATA_TYPE LIKE '%date%' THEN CONCAT('public DateTime? ',COLUMN_NAME,'{ get; set; }') 
WHEN DATA_TYPE LIKE '%timestamp%' THEN CONCAT('public DateTime? ',COLUMN_NAME,'{ get; set; }')
ELSE COLUMN_NAME
END
FROM
    INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'DBName'  -- 数据库名称
AND table_name = 'tableName' -- 表名
ORDER BY ordinal_position;

注:修改为需要生成类的数据库名及表名后,代码直接放sql查询器运行,复制结果到cs类即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值