• 利用SQL生成模型实体类


    DECLARE @TableName sysname = 'TableName'; DECLARE @Result VARCHAR(MAX) = 'public class ' + @TableName + ' {'; SELECT @Result = @Result + ' /// <summary> /// ' + CAST(t.Summary AS VARCHAR(MAX)) + ' /// </summary> public ' + ColumnType + NullableSign + ' ' + ColumnName + ' { get; set; } ' FROM ( SELECT REPLACE(col.name, ' ', '_') ColumnName, col.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, ISNULL(ep.value, col.name) AS Summary 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 LEFT JOIN sys.extended_properties ep ON ep.major_id = col.object_id AND ep.minor_id = col.column_id WHERE col.object_id = OBJECT_ID(@TableName) ) t ORDER BY ColumnId; SET @Result = @Result + ' }'; PRINT @Result;

  • 相关阅读:
    elasticsearch配置小记(转)
    valgrind详解
    elasticsearch2.x优化小结(单节点)
    使 nodejs 代码 在后端运行(forever)
    使 nodejs 代码 在后端运行(nohup)
    Flutter移动电商实战 --(16)切换后页面状态的保持AutomaticKeepAliveClientMixin
    Flutter移动电商实战 --(14)首页_拨打电话操作
    Flutter移动电商实战 --(15)商品推荐区域制作
    Flutter移动电商实战 --(11)首页_屏幕适配方案和制作
    [UI] 精美UI界面欣赏[9]
  • 原文地址:https://www.cnblogs.com/lhxsoft/p/12196713.html
Copyright © 2020-2023  润新知