Procedure to Create Property from Tables and Views in SQL Server

Procedure to Create Property from Tables and Views in SQL Server
Procedure to Create Property from Tables and Views in SQL Server

Hello everyone. In this article, I will try to give information about the procedure that creates Property from Tables and Views in SQL Server.

If you’re programming on the CSharp side, you need Properties.

It can take a lot of time to create a table or view and then create a Property in SQL Server.

Using the procedure below, you can easily create the class structure of your table.

CREATE  PROCEDURE [dbo].[usp_GenerateClassFromViewAndTable]
  @TabloViewAdi NVARCHAR(100),
  @ClassAdi NVARCHAR(100)
AS
BEGIN
declare @Sonuc varchar(max) = 'public class ' + @ClassAdi + '
{'

select @Sonuc = @Sonuc + '
    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 'double'
            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 'float'
            when 'smalldatetime' then 'DateTime'
            when 'smallint' then 'short'
            when 'smallmoney' then 'decimal'
            when 'text' then 'string'
            when 'time' then 'TimeSpan'
            when 'timestamp' then 'long'
            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(@TabloViewAdi)
) t
order by ColumnId

set @Sonuc = @Sonuc  + '
}'

PRINT  @Sonuc

END
GO

--Use of the procedure

EXEC usp_GenerateClassFromViewAndTable 
@TabloViewAdi = N'TableViewName' 
,@ClassAdi = N'ClassNameYouWanttoCreate'

Good luck to everyone in business and life.

26 Views

Yavuz Selim Kart

I try to explain what I know in software and database. I am still improving myself by doing research on many programming languages. Apart from these, I am also interested in Graphic Design and Wordpress. I also have knowledge about SEO and Social media management. In short, I am a determined person who likes to work hard.

You may also like...

Don`t copy text!