Bu yazımızda da LINQ sorgularının lambda ifadeleriyla nasıl yazıldığını inceleyelim. Uzun uzun yazılan LINQ sorgularını tek satırda yazmak mümkündür. Bu sayede hem temiz hemde rahat okunabilir bir kod ortayaçıkıyor.
Bir Employee sınıfı oluşturup, sorgulama yapmak için de bu tipe ait bir liste oluşturarak işe başlayabiliriz.
public class Employee { public int id { get; set; } public string Name { get; set; } public double Salary { get; set; } public override string ToString() { return string.Format("Name: {0} Salary: {1}",Name, Salary); } }
Employee tipine ait liste de şu şekilde olsun.
List<Employee> Employees = new List<Employee> { new Employee{ id=1102, Salary=1250, Name="Jim" }, new Employee{ id=1802, Salary=2250, Name="Tim" }, new Employee{ id=1650, Salary=3250, Name="Kim" }, new Employee{ id=2102, Salary=1750, Name="Sim" }, new Employee{ id=3182, Salary=1350, Name="Him" }, };
Sorgu: Maaşı 1900’den küçük olan çalışanları ada göre sıralayarak göster.
Linq Sorgusu
var linqResult = from c in Employees where c.Salary < 1900 orderby c.Name select c;
Lambda Expression Sorgusu
var lambdaResult = Employees.Where(i => i.Salary < 1900).OrderBy(i => i.Name);
Sorguları çeşitlendirmek mümkündür. Sonuçta bu örnek göldeki bir damla gibidir.