Language Integrated Query

Language Integrated Query (LINQ, "dil ile bütünleşik sorgu") .NET dillerine SQL benzeri sorgulama becerisi ekleyen bir Microsoft .NET Framework bileşenidir. "Link" diye okunur.

Koleksiyonlar için LINQ

Bir C# sayı dizisi içerisindeki "tek sayı" şartına uyanlar LINQ standart deyimleri ile şöyle elde edilebilir:

int[] sayilar = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 8 };
var tekSayilar =
    from sayi in sayilar
    where sayi % 2 == 1
    select sayi;

Özel amaçlı nesnelerden oluşan bir koleksiyon da aynı yapı ile sorgulanabilir:

List urunler = UrunListesiOlustur(); // faraza bir Urun koleksiyonu olusturur
var satilmisUrunler =
    from urun in urunler
    where urun.StoktaKalan == 0
    select urun;

LINQ sorguları sadece SQL benzeri sorgulama söz dizimi ile kullanılabilmekle kalmayıp, Fluent Interface söz dizimi ile de kullanılabilmektedir. Aşağıdaki iki örnek, sırayla yukarıdaki örneklerin yaptıkları ile aynı işleri yapmaktadır:

int[] sayilar = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 8 };
var tekSayilar =
    sayilar
    .Where(sayi => sayi % 2 == 1)
    .Select(sayi => sayi);
List urunler = UrunListesiOlustur(); // faraza bir Urun koleksiyonu olusturur
var satilmiUrunler =
    urunler
    .Where(urun => urun.StoktaKalan == 0)
    .Select(urun => urun);

Kaynakça

Dış bağlantılar