İçeriğe atla

Language Integrated Query

Vikipedi, özgür ansiklopedi

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

[değiştir | kaynağı değiştir]

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);

Dış bağlantılar

[değiştir | kaynağı değiştir]