SQL Server’da SQL Sorgusu ile Model Property Oluşturmak
Herkese merhaba,
Bu yazıda SQL Server’da sql sorgusu ile model property yapısının nasıl oluşturulacağından bahsedeceğim.
Konu ile ilgili örneği internet üzerinde gördüm. Aşağıda kodu görmektesiniz.
DECLARE @TableName VARCHAR(100) = 'Categories'; --Tablo adını burada yazacaksınız
WITH model
AS (SELECT ORDINAL_POSITION,
COLUMN_NAME,
DATA_TYPE,
IS_NULLABLE,
TABLE_NAME,
CASE
WHEN DATA_TYPE = 'bigint' THEN
'long'
WHEN DATA_TYPE = 'int' THEN
'int'
WHEN DATA_TYPE = 'smallint' THEN
'short'
WHEN DATA_TYPE = 'varchar' THEN
'string'
WHEN DATA_TYPE = 'nvarchar' THEN
'string'
WHEN DATA_TYPE = 'char' THEN
'string'
WHEN DATA_TYPE = 'datetime' THEN
'DateTime'
WHEN DATA_TYPE = 'decimal' THEN
'decimal'
WHEN DATA_TYPE = 'bit' THEN
'bool'
WHEN DATA_TYPE = 'decimal' THEN
'decimal'
WHEN DATA_TYPE = 'tinyint' THEN
'byte'
WHEN DATA_TYPE = 'image' THEN
'byte[]'
WHEN DATA_TYPE = 'timestamp' THEN
'string'
WHEN DATA_TYPE = 'varbinary' THEN
'string'
WHEN DATA_TYPE = 'text' THEN
'string'
WHEN DATA_TYPE = 'float' THEN
'float'
WHEN DATA_TYPE = 'date' THEN
'DateTime'
WHEN DATA_TYPE = 'xml' THEN
' '
WHEN DATA_TYPE = 'time' THEN
' '
WHEN DATA_TYPE = 'numeric' THEN
' '
WHEN DATA_TYPE = 'uniqueidentifier' THEN
' '
WHEN DATA_TYPE = 'numeric' THEN
' '
ELSE
' '
END AS DataType
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName)
SELECT 0 AS Column_Position,
' public class ' + @TableName AS VModel
UNION
SELECT 0,
'{'
UNION
SELECT 1,
'[Key]'
UNION
SELECT ORDINAL_POSITION,
'public ' + DataType + CASE
WHEN
(
IS_NULLABLE = 'Yes'
AND DataType != 'string'
) THEN
'? '
ELSE
' '
END + COLUMN_NAME + '{ get; set; }'
FROM model
UNION
SELECT MAX(ORDINAL_POSITION) + 1,
'}'
FROM model
ORDER BY Column_Position;
Kodu çalıştırdığınız zaman aşağıdaki sonucu göreceksiniz.
Görüldüğü üzere property değerleri class yapısında oluşturulmuş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.