asp ile entityframework kullanıyorsaniz db.makaleler.OrderBy(x => x.yorumlar.Count()); seklinde makaleleri yorumuna gore en cok yorum alandan en az olana gore sıralar
istersen sonuna .firstordefault() ekleyip ilk gelen satiri da alabilirsin

eger entityframework kullanmiyorsan select count(*) from makaleler orderby yorunlarin countu seklinde bir sorgu ile SQL dilinde cekebilirsin

Suan Visual uzerinde yazmadigim icin tam syntaxı yazamiyorum k bakma dedigim gibi eger daha derin bir cumle ile yazmak istersen inner joinler ile 2 tabloyu getirip onlarin degerlerine gore cekebilirsin SQL sorgunu

Yazi ile yorum tablolarini birbirine baglaman senin işini kolaylaştiricaktir

Çalışmalarında Başarılar Dilerim.