
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 .
