Merhaba;
Bildiğiniz üzere c# %100 nesne yönelimli bir programlama dili.haliyle herşey bir nesneden ibaret.programlama yaparken nesnesel bir yapı kullandığımızdan dolayı çoğu kez veritabanındaki tablolara karşılık gelen classlar oluşturmamız gerekir.Bir takipçimin isteği üzerine hazırlamış olduğum aşağıdaki t-sql kod bloğu sayesinde parametre olarak verdiğiniz tablo adına ait kolonları sizlere field olarak getirebilmektedir.
Paylaşımlarınızda lütfen kaynak belirtiniz.Emeğe Saygı.....
Kolay Gelsin.
Bildiğiniz üzere c# %100 nesne yönelimli bir programlama dili.haliyle herşey bir nesneden ibaret.programlama yaparken nesnesel bir yapı kullandığımızdan dolayı çoğu kez veritabanındaki tablolara karşılık gelen classlar oluşturmamız gerekir.Bir takipçimin isteği üzerine hazırlamış olduğum aşağıdaki t-sql kod bloğu sayesinde parametre olarak verdiğiniz tablo adına ait kolonları sizlere field olarak getirebilmektedir.
CREATE FUNCTION [dbo].[CLASS_Olustur](@TabloAdi AS NVARCHAR(50)) RETURNS @DonusTablo TABLE(Name NVARCHAR(50)) AS BEGIN INSERT INTO @DonusTablo(Name) SELECT * FROM ( SELECT 'Public '+CASE WHEN TipAd='nvarchar' then 'string' WHEN TipAd='char' then 'char' WHEN TipAd='nchar' then 'char' WHEN TipAd='varchar' then 'string' WHEN TipAd='sysname' then 'string' WHEN TipAd='xml' then 'string' WHEN TipAd='image' then 'string' WHEN TipAd='date' then 'DateTime' WHEN TipAd='datetime' then 'DateTime' WHEN TipAd='smalldatetime' then 'DateTime' WHEN TipAd='tinyint' then 'bool' WHEN TipAd='smallint' then 'bool' WHEN TipAd='real' then 'decimal' WHEN TipAd='money' then 'decimal' WHEN TipAd='float' then 'decimal' WHEN TipAd='bit' then 'bool' WHEN TipAd='text' then 'string' WHEN TipAd='int' then 'int' WHEN TipAd='bigint' then 'UInt64' WHEN TipAd='decimal' then 'decimal' END +' '+KolonAd+';' AS Degisken FROM(SELECT col.name AS KolonAd,tip.name AS TipAd FROM sys.all_columns AS col INNER JOIN sys.tables AS tp ON col.object_id=tp.object_id AND tp.name=@TabloAdi INNER JOIN sys.types AS tip ON col.user_type_id=tip.user_type_id) AS VW1) AS VW2 RETURN END GO
Paylaşımlarınızda lütfen kaynak belirtiniz.Emeğe Saygı.....
Kolay Gelsin.
Yorumlar
Yorum Gönder