下面的代码是 T-SQL 中的一个快速脚本,它构建在 CLASS 中使用的 Get Set 属性:
DECLARE @COLUMN_NAME varchar(250)
DECLARE @DATA_TYPE varchar(250)
DECLARE c1 CURSOR FOR
select COLUMN_NAME, DATA_TYPE from information_schema.columns
where table_name = 'Members'
OPEN c1
FETCH NEXT FROM c1 INTO @COLUMN_NAME, @DATA_TYPE
WHILE @@FETCH_STATUS = 0
BEGIN
IF @DATA_TYPE = 'nvarchar'
BEGIN
SET @DATA_TYPE = 'string'
END
IF @DATA_TYPE = 'ntext'
BEGIN
SET @DATA_TYPE = 'string'
END
IF @DATA_TYPE = 'datetime'
BEGIN
SET @DATA_TYPE = 'DateTime'
END
PRINT 'public ' + @DATA_TYPE + ' ' + @COLUMN_NAME + ' { get; set; }'
FETCH NEXT FROM c1 INTO @COLUMN_NAME, @DATA_TYPE
END
CLOSE c1
DEALLOCATE c1
GO
如果您可以添加或清理它,那就太好了!
更新 下面的代码可以运行,我做了一些轻微的修改。
DECLARE @Script NVARCHAR(MAX) = ''
SELECT @Script = @Script + '
public ' + CASE WHEN DATA_TYPE IN ('nvarchar','ntext') THEN 'string'
WHEN DATA_TYPE = 'datetime' THEN 'DateTime'
ELSE DATA_TYPE
END
+ ' '
+ upper(substring(COLUMN_NAME,1,1))+
+ lower(substring(COLUMN_NAME,2,499))
+ ' { get; set; }'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'SubCategory'
PRINT @Script
最佳答案
你可以摆脱光标并缩短它很多
DECLARE @Script NVARCHAR(MAX) = ''
SELECT @Script = @Script + '
public ' + CASE WHEN DATA_TYPE IN ('nvarchar','ntext') THEN 'string'
WHEN DATA_TYPE = 'datetime' THEN 'DateTime'
ELSE DATA_TYPE
END
+ ' ' + COLUMN_NAME + ' { get; set; }'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Members'
PRINT @Script
关于t-sql - 为类中的 View 创建从表名称获取设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851802/