SQL Tablosunun C# Classını Oluşturmak

Merhaba arkadaşlar,

Bildiğiniz üzere projelerimize database First yaklaşımı üzerinden Entity Framework ORM Tool’u bağlarken, veritabanındaki alanlarımızı class haline getirmemiz gerekmektedir. Zaman alan ve sıkıcı bir iş olduğu için kolay yolunu aramaya başladım.

Dostum Yavuz Aydoğan sağolsun bu konuda elinde daha önceden bulunan bir SQL Sorgusunu benimle paylaşmıştı, ben de tabiki blog takipçilerimle paylaşmak için izin istedim kendisinden.

Teşekkürler Yavuz Aydoğan iyiki varsın 🙂

Senaryomuz şu şekilde:
[Service].[ScrapApprovalPaymentType] adında SQL Server’da bir tablomuz var. (Örnek olduğu için tabloyu bilerek kısa tuttum, siz daha fazla field’a sahip tablolarda kullanabilirsiniz.)

Aşağıdaki kodu SQL Server query’de çalıştırdığınızda bize [Service].[ScrapApprovalPaymentType] tablosunu direk C# class’ı içerisinde yer alan property’lerini dönecek.

T-SQL Kodumuz:

Dönen sonuç

Ufak tablolarda çok fazla vakit kazandırmasada, fazla field içeren tablolarda hayat kurtaran bir yol olarak sıklıkla kullanıyorum 🙂

Umarım sizinde işinize yarar, bir sonraki yazımda görüşmek üzere

Cannot truncate table because it is being referenced by a FOREIGN KEY constraint hatası ve çözümü

Merhaba arkadaşlar,

SQL Server üzerinde oluşturduğumuz tablolar arasında Foreign Key (FK) bağlantıları var ve bu bağlantılı tablolara daha önce veri eklenmiş ise, T-SQL’den “truncate table” komutunu çalıştırdığımızda aşağıdaki hatayı alırsınız.

Cannot truncate table because it is being referenced by a FOREIGN KEY constraint.

Öncelikle bu hatanın nedenini, ardından da bu hatanın çözümünü paylaşmak istiyorum. Hatanın nedeni, Foregin Key’ler ID bazında tablolar arasında ilişki kurduğu için, sizin tablonuz boş olsa bile, bu FK ID’leri bağlantılı olduğu tablolar için ayrılmıştır. (allocate edilmiştir).

Çözümü ise çok basittir. Aşağıdaki kodu çalıştırarak, tablo üzerinde bahsettiğim ayrılmış ID’leri sıfırlayarak, sizin truncate işlemini gerçekleştirmenize olanak sağlar.

Umarım faydalı olmuştur, bir sonraki yazımda görüşmek üzere 🙂

Cannot truncate table because it is being referenced by a FOREIGN KEY constraint hatası ve çözümü

Merhaba arkadaşlar,

Bugün farklı bir senaryoyu sizinle paylaşacağım. Senaryomuzda SQL Server’da 2 adet tablomuz var ve bunlar foreign key ile birbirine bağlanmış durumda.

Bu tablolardan birini “truncate table” komutu ile sıfırlamak istediğimizde aşağıdaki hatayı alacaksınız.

Cannot truncate table because it is being referenced by a FOREIGN KEY constraint

Burada anlatmak istediği Foreign Key bulunan tabloyu, diğer tabloda referansı olduğu (bağlı olduğu) için truncate edemezsiniz diyor.

Çözümü ise çok basit, aşağıdaki kod ile istediğiniz tabloyu truncate edilmiş haline çevirebiliyorsunuz. Öncelikle tablo içindeki dataları temizliyor ardından reseed ederek, ID değerini “0” a çekiyor.

Ben örnek olarak “[Content].[ContentCategory]” yazacağım siz bu tablo adını kendi projenize göre düzenleyebilirsiniz.

Umarım faydalı olmuştur, bir sonraki yazımda görüşmek üzere

MSSQL Server DBCC CHECKIDENT ile Identity alanının istenilen değere çekmek

Merhaba arkadaşlar,

Bu aralar işlerim nedeni ile pek yazmaya fırsat bulamıyorum. (Aslında birden çok yazı hazırladım fakat hepsi taslak olarak bekliyor. Sanırım biraz mükemmeliyetçiyim 🙂 )

Fazla lafı uzatmadan, senaryomuza ve sonuca geçelim.

Herhangi bir neden ile MS-SQL server üzerinde bir tabloya data ekleme işlemi esnasında hata meydana geldi ve ID(Identity) değerimiz birer birer arttı.

Bu durumda aşağıdaki senaryoyu ve kod parçasını Identity değerini çekmek için aşağıdaki sql query olarak kullanabiliriz.

Örnek tablo adı: Content.CommentStatus
Mevcut Kayıtlar:
ID: 1-Beklemede
ID: 2-Onaylandı

Eklemek istediğimiz Kayıt
ID: 3-İptal (Fakat hata oldu, ID değeri 4-5-6-7 gibi arttıkça arttı 🙂 )

kodu ile identity değeri 2’ye çekilir, bundan sonra oluşturulacak identity değerleri 3’den başlar.

Umarım faydalı olur, bir sonraki yazımda görüşmek üzere.

MS-SQL Databasedeki tüm tabloları listelemek

Merhaba arkadaşlar,

Bir proje kapsamında gerekli olan kısa bir kod bloğunu paylaşmak istiyorum.

Bu kod bloğu ile MS-SQL Database de tüm tabloları listeyelebilir, drop edebilir, truncate edebilirsiniz.

İsterseniz de kendinize göre Çeşitli varyasyonlar için düzenleyip çoklu işlemlerinizi kolaylıkla gerçekleştirebilirsiniz.

MS-SQL TÜM TABLOLARI LİSTELEMEK ETMEK

ÇIKTISI

sql_tum_tablolari_getirmek

Bunu tüm tabloları drop veya truncate etmek için de kullanabilirsiniz. Umarım işinize yarar, bir sonraki yazımda görüşmek üzere.

MS-SQL TÜM TABLOLARI TRUNCATE ETMEK

MS-SQL TÜM TABLOLARI DROP ETMEK

Ay ve Yıla Göre Günleri Listeyen SQL Sorgusu

Merhabalar,

Üzerinde çalıştığım bir proje için oluşturduğum ay ve yıla göre günleri listeyen sql sorgusunu sizinle paylaşmak istiyorum.

T-SQL Sorgusu ve çıktısı aşağıdadır.

Umarım işinize yarar, bir sonraki yazımda görüşmek üzere

SORGU

ÇIKTI

İki Tarih Arasındaki Tarihleri Getiren SQL Sorgusu

Merhaba arkadaşlar,

İhtiyacınız olduğunda kullanabileceğiniz basit bir T-SQL Sorgusunu paylaşmak istiyorum.

2 tarih arasındaki tarihleri getiren T-SQL Sorgusuna ve çıktısına aşağıdan ulaşabilirsiniz.

Umarım işinize yarar, bir sonraki yazımda görüşmek üzere

SORGU

ÇIKTI

SQL Server’da veritabanında bir kolonun hangi tabloda olduğunu bulmak

Merhaba arkadaşlar,

Uygulama geliştirdiğimiz projelerde genellikle veritabanındaki tablo sayısı çok olunca aradığımız bir kolonu bulmak baya bir zamanımızı alabilir.

Bu işlemi aşağıdaki kod yardımı ile gerçekleştirebilirsiniz. Aradığınız kolonun hangi tablolarda kullanılıyor bu ufak select ile çekebilirsiniz.

T-SQL En Yüksek İkinci Kayıdı Bulmak

Merhaba Arkadaşlar,

Her zaman lazım olmuyor ama ihtiyaç olduğu zamanda hızlıca bir yerlerde elimin altında olsun istediğim ufak bir T-SQL kodu paylaşmak istiyorum.

Crm.Employee tablomuzda yer alan Salary (Maaş) alanına göre en yüksek 2. maaş’ı alan çalışanımızı bulmak için aşağıdaki T-SQL kodu kullanabilirsiniz

Aslında bu kod bloğu biraz daha kapsamlıydı ama ben en minimum hale getirerek, ihtiyacınız olan biçimde düzenlemeniz için bu şekilde bırakıyorum.

SQL Server şema oluşturmak

Merhabalar,

Daha önce paylaşmış olduğum SQL Server’da tablonun şema adını değiştirmek yazıma ek olarak her zaman kullanılmayan ama not defterinizde bulunması gerekli kısa bir kod parçası daha paylaşacağım.

SQL Server üzerinde şema oluşturmak için aşağıdaki kodu sorgu ekranına yazıp F5 ile execute ettiğinizde SMS başlığında bir şema yaratmış olacaksınız.

Daha sonra istediğiniz tabloları bu şema altına yukarıdaki linki kullanarak transfer edebilirsiniz.

Bir sonraki paylaşımlarda görüşmek üzere