Merhabalar,
LINQ veya LINQ to XML’de yeni keşfettiğim let keyword anahtarından bahsedeceğim.
Let bir anlamda da LINQ sorgularımızın içinde değişken tanımlamamızı sağlayan bir keyword anahtardır.
Örnek olarak açıklamak gerekirse;
İlk önce let kullanımı olmadan bir LINQ sorgusu yazalım.
var Articles = (from u in xArticleFile.Elements("Article")
where u.Attribute("CategoryID").Value == CategoryID
select u).ToList();
Sorgumuzda CategoryID’sine göre tüm makaleleri çekiyoruz. Şimdide let keyword anahtarını kullanarak aynı sorgumuzu yazalım.
var Articles = (from u in xArticleFile.Elements("Article")
let _categoryID = u.Attribute("CategoryID").Value
where _categoryID == CategoryID
select u).ToList();
Burda veritabanından gelen datamızı let kullanarak bir değişken gibi kullanabiliyoruz.
Yada sorgu içinde let kullanarak tekrardan ikinci bir sorgu yazabiliriz yada değişken olarak tanımlayabiliriz. Örnek olarak;
var Ogrenciler = (from u in xOgrenciFile.Elements("Ogrenci")
let OgrenciID = u.Attribute("OgrenciID").Value
let OgrenciNotlari = (from p in xNotlarFile.Elements("Notlar") where p.Element("OgrenciID").Value.Equals(OgrenciID) select u).ToList()
let toplam = OgrenciNotlari[0].Value + OgrenciNotlari[1].Value + OgrenciNotlari[3].Value + OgrenciNotlari[4].Value
where toplam / 4 < OgrenciNotlari[0].Value
select u).ToList();
Burda let kullanarak ikinci bir sorgu sonucumuzu bir değişken olarak atayarak o değişken üzerinde de gereken işlemlerimizi yapabiliriz.
Faydalı olması dileğiyle. Görüşmek üzere.
Vedat TAYLAN