Veysel Uğur KIZMAZ

LINQ to SQL - GROUP BY

16.06.2012Okunma Sayısı: 16353Kategori: LINQ

 

Bu makalemizde SQL’de kullandigimiz GROUP BY ifadesinin LINQ to SQL’de nasil kullanildigini inceleyecegiz.
 
Öncelikle GROUP BY isleminin kati SQL kodunu inceleyelim.
 
Elimizde OnlineSatis isminde bir veritabani olsun. Bu veritabani içinde urunler isminde bir tablomuz olsun.
 
 
Bu tablodaki verileri ürün adlarina göre gruplandirmak ve ürün isimlerini görmek istiyoruz.

Bu islemi gerçeklestirecek SQL kodu asagidaki gibidir:
 
SELECT adi FROM urunler GROUP BY adi
 
Simdi bu islemi LINQ to SQL ile gerçeklestirelim:
 
Veritabanimizda bulunan urunler tablomuzu bir LINQ to SQL Classes içerisine aktariyoruz. Bu islemi buradan inceleyebilirsiniz.
 
Bu islemi gerçeklestirdikten sonra kodumuzu yazabiliriz:
 
private void UrunIsimleriniAl()
{
     DataClasses1DataContext dc = new DataClasses1DataContext();
     var urunlerim = from urunum in dc.urunlers
                         group urunum by urunum.adi;
     foreach (var urun in urunlerim)
          listBox1.Items.Add(urun.Key.ToString());
}
 
group urunum by urunum.adi
group’tan sonra yazilan parametre, hangi tabloda gruplama yapilacagini belirtir. by’dan sonra yazilan parametre ise tablonun hangi sütununda gruplandirma yapilacagini belirtir.
 
urun.Key.ToString()
 
urun degiskeninin türü IGrouping interface’i türündendir. Bu yüzden urun’ün Key’i ile gruplandirma yaptigimiz sütundaki elemana ulasmaktayiz.
 
Kod çalistiktan sonra ekran çiktisi asagidaki gibi olacaktir:
 
 
 
 
Veysel Ugur KIZMAZ