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.
320 Kez Okundu