LINQ ile Join&Group ve ilk kaydı seçme sorgusu
İki tabloyu join ile birleştirip, bir alana göre gruplama ve diğer tablodan ilk kaydı seçme sorgusu
Örnek üzerinden gidelim.
Elimizde 2 tablo olsun.
Yazarlar ve yazarların yazıları.
![]() |
![]() |
Şimdi, her bir yazarın son yazısını Linq sorgusu ile çekelim:
var yazilar = (from p in db.yazaryazilar
group p by p.YazarId into grp
let max = grp.Max(g => g.Id)
from p in grp
join y in db.yazarlar on p.YazarId equals y.Id
where p.Id == max
orderby p.Id descending
select new
{
Id = p.Id,
Baslik = p.Baslik,
Foto = y.Foto,
Yazar = y.AdSoyad
}).Take(10);
Yazının id ve baslik bilgisini, yazarların da foto ve ad soyad bilgilerini bu sorguyla çekebiliriz.
Siz bu sorguyla oynayarak; daha değişik sonuçlar elde edebilirsiniz. Örneğin, okunma sayılarına göre yazarların yazılarını getirebilirsiniz.
Kolay gelsin.
#linq #join #group #select #ilk-satır #first-row

