SQL ERVER 表转化为C#实体(SQL 代码)
2022/6/14 2:20:04
本文主要是介绍SQL ERVER 表转化为C#实体(SQL 代码),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文推出SqlServer表转化为实体的sql代码
在VS中有可以自带生成实体类的快捷操作,但是生成的代码比较杂乱,很多东西都是不需要的,一个一个去敲又很浪费时间,关键太无聊了
在闲暇之余写一份代码供大家学习,废话不多说,直接整干货:
1 DECLARE @TableName sysname = 'ObjeckBLL';-- 要生成实体类的表名 2 DECLARE @Result VARCHAR(MAX) = 'public class ' + @TableName + ' 3 {'; 4 SELECT @Result = @Result + ' 5 /// <summary> 6 /// ' + CAST(t.Summary AS VARCHAR(MAX)) + ' 7 /// </summary> 8 public ' + ColumnType + NullableSign + ' ' + ColumnName + ' { get; set; } 9 ' 10 FROM 11 ( 12 SELECT REPLACE(col.name, ' ', '_') ColumnName, 13 col.column_id ColumnId, 14 CASE typ.name 15 WHEN 'bigint' THEN 16 'long' 17 WHEN 'binary' THEN 18 'byte[]' 19 WHEN 'bit' THEN 20 'bool' 21 WHEN 'char' THEN 22 'string' 23 WHEN 'date' THEN 24 'DateTime' 25 WHEN 'datetime' THEN 26 'DateTime' 27 WHEN 'datetime2' THEN 28 'DateTime' 29 WHEN 'datetimeoffset' THEN 30 'DateTimeOffset' 31 WHEN 'decimal' THEN 32 'decimal' 33 WHEN 'float' THEN 34 'float' 35 WHEN 'image' THEN 36 'byte[]' 37 WHEN 'int' THEN 38 'int' 39 WHEN 'money' THEN 40 'decimal' 41 WHEN 'nchar' THEN 42 'char' 43 WHEN 'ntext' THEN 44 'string' 45 WHEN 'numeric' THEN 46 'decimal' 47 WHEN 'nvarchar' THEN 48 'string' 49 WHEN 'real' THEN 50 'double' 51 WHEN 'smalldatetime' THEN 52 'DateTime' 53 WHEN 'smallint' THEN 54 'short' 55 WHEN 'smallmoney' THEN 56 'decimal' 57 WHEN 'text' THEN 58 'string' 59 WHEN 'time' THEN 60 'TimeSpan' 61 WHEN 'timestamp' THEN 62 'DateTime' 63 WHEN 'tinyint' THEN 64 'byte' 65 WHEN 'uniqueidentifier' THEN 66 'Guid' 67 WHEN 'varbinary' THEN 68 'byte[]' 69 WHEN 'varchar' THEN 70 'string' 71 ELSE 72 'UNKNOWN_' + typ.name 73 END ColumnType, 74 CASE 75 WHEN col.is_nullable = 1 76 AND typ.name IN ( 'bigint', 'bit', 'date', 'datetime', 'datetime2', 'datetimeoffset', 'decimal', 77 'float', 'int', 'money', 'numeric', 'real', 'smalldatetime', 'smallint', 78 'smallmoney', 'time', 'tinyint', 'uniqueidentifier' 79 ) THEN 80 '?' 81 ELSE 82 '' 83 END NullableSign, 84 ISNULL(ep.value, col.name) AS Summary 85 FROM sys.columns col 86 JOIN sys.types typ 87 ON col.system_type_id = typ.system_type_id 88 AND col.user_type_id = typ.user_type_id 89 LEFT JOIN sys.extended_properties ep 90 ON ep.major_id = col.object_id 91 AND ep.minor_id = col.column_id 92 WHERE col.object_id = OBJECT_ID(@TableName) 93 ) t 94 ORDER BY ColumnId; 95 SET @Result = @Result + ' 96 }'; 97 PRINT @Result;View Code
来看看效果:
有没有瞬间觉得很爽,排版清晰,结构清楚
今天的分享到此结束,有需要的可以关注留言讨论
能帮朋友解决问题的记得给个关注支持一下,以后将多多分享SQL SERVER 相关知识
这篇关于SQL ERVER 表转化为C#实体(SQL 代码)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#