-- 只需要改这里:你的表名
DECLARE @TableName NVARCHAR(100) = 'Xt_Czy'
SELECT
'/// <summary>' + CHAR(13) + CHAR(10) +
'/// ' + CONVERT(NVARCHAR(MAX), ISNULL(ep.value, '')) + CHAR(13) + CHAR(10) +
'/// </summary>' + CHAR(13) + CHAR(10) +
'public ' +
CASE
WHEN ty.name IN ('varchar', 'nvarchar', 'char', 'nchar', 'text') THEN 'string'
WHEN ty.name IN ('int') THEN 'int'
WHEN ty.name IN ('bigint') THEN 'long'
WHEN ty.name IN ('bit') THEN 'bool'
WHEN ty.name IN ('datetime', 'smalldatetime', 'datetime2') THEN 'DateTime'
WHEN ty.name IN ('decimal', 'money', 'numeric') THEN 'decimal'
WHEN ty.name IN ('float') THEN 'double'
WHEN ty.name IN ('image') THEN 'byte[]'
ELSE 'object'
END
+ ' ' + c.name + ' { get; set; }' + CHAR(13) + CHAR(10)
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
JOIN sys.types ty ON c.system_type_id = ty.system_type_id
LEFT JOIN sys.extended_properties ep
ON ep.major_id = c.object_id
AND ep.minor_id = c.column_id
AND ep.name = 'MS_Description'
WHERE t.name = @TableName
ORDER BY c.column_id