LINQ Nedir?, Program ve veri arasındaki ilişkiyi başka bir boyuta taşıyan devrimsel bir programlama metodolojisidir. LINQ, bir programlama arayüzü sunar. C# diline getirdiği eklentilerle SQL benzeri tek bir söz dizimi ile farklı tiplerdeki verilerin sorgulanmasını sağlar.
LINQ Nedir? Nasıl Kullanılır? Örnekli Anlatım
LINQ, program ve veri arasındaki ilişkiyi başka bir boyuta taşıyan devrimsel bir programlama metodolojisidir. LINQ, bir programlama arayüzü sunar. C# diline getirdiği eklentilerle SQL benzeri tek bir söz dizimi ile farklı tiplerdeki verilerin sorgulanmasını sağlar. C# ile sorgu yazmak, tip güvenli çalışma, ifadelerin otomatik olarak tamamlanması ve IntelliSense gibi özelliklerle geliştiricinin üretkenliğini artırmayı sağlar.
Farklı LINQ uygulamarı mevcuttur. Bu uygulamlarda en temel olanlar şöyle özetlenebilir.
LINQ to Objects
Bellek üzerindeki nesnelerden oluşan koleksiyonları sorgulamak
LINQ to SQL
SQL Server veri tabanındaki tabloları sorgulamak
LINQ to DataSet
ADO.NET DataSet tiplerini sorgulamak.
LINQ to XML
XML verilerini sorgulamak.
LINQ to Entity
ADO.NET Entity Framework tarafından oluşturulan varlıkları sorgulamak.
Bu sayılan LINQ uygulamarı aynı söz dizimini kullanır, ancak farklı veri kümelerini hedeflemektedir.
LINQ Neden Kullanılmalı?
LINQ kodlarımız içerisinde, farklı dil kullanmadan, çeşitli ortamlardaki verileri sorgulayıp, filtrelemek için kullanılır.
LINQ öncesinde daha çok kod yazarak yapılan işlemler artık daha az eforlai daha kısa zamanda yapılabiliyor. Bu durum da üretkenliği arttırıyor.
Çoğu SQL komutlarına benzer ya da aynı olan C# anahtar kelimelerinden oluşan ifadeler ile .NET koleksiyonlarına LINQ sorguları yazılır. Bu anahtar kelimeler, LINQ Standart Sorgu Operatörleri olarak anılır(LINQ Standart Query Operators).
Alttaki örnekte temel bir LINQ sorgusunun genel yapısını inceleyebilirsiniz;
1 2 3 4 | var sorgu = from eleman in koleksiyon where kriterler orderby sıralamaKıstası [ascending|descending] select [takmaAd = ]kolonIfadesi [ , [takmaAd2 = ] kolonIfadesi2] |
“var” anahtar kelimesi, yukarıdaki LINQ sorgu sonucunun atandığı sorgu isimli local bir değişken için tip çıkarsaması yapar. “var” bir veri tipi değildir. “var” eşitliğin sağ tarafındaki veriye ait tipin derleyici tarafından otomatik olarak tespit edilmesini ve CIL koduna yazılmasını sağlar.
Örnek Sorgular
1.Örnek
Farklı sayısal değerde yer alan veri setimiz var bu veri seti int türünde olduğunu varsayalım bu int türündeki değerlerin her biri kontrol edilerek 80’den büyük olan değerleri almak istersek alttaki gibi bir sorgu yazmamız gerekiyor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // int türündeki veri setimiz int[] scores = new int[] { 97, 92, 81, 60 }; // 80 üzerindeki değerleri bulacak sorgumuz. IEnumerable<int> scoreQuery = from score in scores where score > 80 select score; // Sorgunun çalıştırılması. foreach (int i in scoreQuery) { Console.Write(i + " "); } |
Sonuç
Altta görüldüğü gibi sorgumuz sonucu sadece 80 değeri üzerindeki veriler listelenmektedir.
LINQ Nedir Özeti
EntityFramework kullanacağınız zaman yollarınızın kesinlikle kesişeceği ama entityframework kullanmadığınız bir .net dünyasında da opsiyonel olarak kullanıp kullanmamanın elinizde olduğu dünyada kullanmanızı ya da bir şans vermenizi şiddetle tavsiye ederim.
📚 LINQ Nedir Benzeri Makaleler
✍ Lütfen olumlu-olumsuz tüm görüşlerinizi bana yorum yada mail yolu ile iletmeyi ihmal etmeyin.
🔗 Sosyal medya kanallarından makaleyi paylaşarak destek olursanız çok sevinirim.
👋 Bir sonraki makalede görüşmek dileğiyle.
sayfanın en üstünde bir alan var uzun baya yazı yok sandım başta düzenlersen iyi olur murat bey
Gerekli düzeltmeyi yaptım. çok teşekkür ederim bildirimin için.