首页 > 代码库 > 使用Sql语句快速将数据表转换成实体类

使用Sql语句快速将数据表转换成实体类

开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行‘TableName‘引号里面的字母换成具体的表名称就行了:

declare @TableName sysname = TableNamedeclare @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)) torder by ColumnIdset @Result = @Result  + }print @Result

 

使用Sql语句快速将数据表转换成实体类