29 Mayıs 2017 Pazartesi
Twitter

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.

 

Değerlendirme

Yazım dilinin sadeliği ve anlaşılabilirliği Puan: 4,85 (3 oy)
Yazıdaki kodların kalitesi Puan: 5,00 (3 oy)
İhtiyaca cevap verme Puan: 5,00 (2 oy)
Tavsiye edilebilirlik Puan: 5,00 (2 oy)
Genel değerlendirme Puan: 5,00 (2 oy)
Puanlamalar 5 üzerindendir.
  • Site Yorumları
  • Facebook Yorumları Facebook Yorumları
Yeni yorum yaz
Henüz bir yorum yazılmadı. İlk yazan siz olabilirsiniz.