Barner
  
YAZAR :Emin Gökçe
ALANI :Php, Mysql
Linq to Sql ile çoklu gruplama

Adventureworks veritabanındaki Person.Contact tablosunu kullanalım ve verilerimizi Title , FirstName , LastName alanlarına göre gruplayalım .

Adventureworks database imizdeki Person.Contact tablomuz aşağıdaki gibidir .



Sql server üzerinde TSQL kodumuz aşağıdaki gibidir .



Şimdi Linq to Sql ile bu çoklu gruplamayı nasıl yapacağımıza bakalım .

Personellerim.dbml açalım ve Adventureworks database imiz içerisinden Person.Contact tablomuzu verelim .

Personel.dbml içine tablomuzu verdik simdi sql server üzerinde yapmış olduğumuz çoklu gruplama teknigini linq to sql kullanarak yapalım . 

Program.cs 
--------------

PersonellerimDataContext Personel = new PersonellerimDataContext();

var CokluGruplama = from person in
Personel.Contacts
group person by new
{ person.Title, person.FirstName, person.LastName }
into
p
select
new
{
Baslik = p.Key.Title,
Adi = p.Key.FirstName,
Soyadi = p.Key.LastName,
};

foreach (var item in
CokluGruplama)
{
Console.WriteLine("Başlık {0} Adı {1} Soyadı {2}"
, item.Baslik, item.Adi, item.Soyadi);
}


group ifadesinden sonra yazılan parametre hangi tabloda gruplama yapılacağını by ifadesinden sonra yazılan parametre ise hangi alanlarda gruplama yapılacagını temsil eder .

Linq ifademiz çalıştıkdan sonra var tipi üzerine değerlerimiz gelir çıktıyı ekrana basmak icin foreach ile değerler arasında dönüp verilerimizi listeledik.

Uygulamamızı çalıştırdığımızda Person.Contact tablomuzdaki verilerimizin verdiğimiz şartlara uygun olarak grup lanmış olduklarını görürüz .