zoukankan      html  css  js  c++  java
  • 利用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;

    转自大佬:https://www.cnblogs.com/meowv/p/11379829.html

  • 相关阅读:
    oc-25-id类型,
    oc-25-id类型
    [转贴]systemd 编写服务管理脚本
    [转贴]infoQ VSTS被拆成5个部分,以Azure DevOps服务形式推出
    Oracle 数据库备份启用压缩以及remap
    Support for SSL/TLS protocols on Windows
    微软自己的官网介绍 SSL 参数相关
    .NET4.0 加密通讯协议下TLS 的兼容支持问题.
    使用Word 进行UTF8 以及字符串编码的转换操作
    计算机管理以及设备管理的快捷打开方式
  • 原文地址:https://www.cnblogs.com/wqtmelo/p/13304446.html
Copyright © 2011-2022 走看看