Kategoriler ve Sayfalar isimli iki tablomuz olduğunu ve bu iki tablo Kategori.Id ile Sayfalar.KatId arasında bir ilişki olduğunu varsayalım. Kategori tablomuzda Id ve Kategori alanları var. Sayfalar tablomuzda ise ekstradan integer tipinde KatId isimli bir yapımız var. Diyagram aşağıdaki gibidir.
Sql ile Kategorilere ait sayfa sayılarını listeleyen sorgumuz.
SELECT Kategoriler.*, (select count(Sayfalar.Id) from Sayfalar where Sayfalar.KatId=Kategoriler.Id) AS SayfaSayisi FROM Kategoriler ORDER BY SayfaSayisi DESC
Linq ile Kategorilere ait sayfa sayılarını listeleyen sorgumuz.
var kategoriler = (from kat in db.Kategoriler join sayfa in db.Sayfalar on kat.Id equals sayfa.KatId into g select new KategoriSayfaSayisi { Id = kat.Id, KategoriAdi = kat.KategoriAdi, SayfaSayisi = g.Count() }).ToList();
Sonuç:
Yorum/Soru Yazın