AFAIK Rank() には、LINQ に組み込み関数がありません。 この回答 あなたのアプローチを使用していますが、彼らにとってはうまくいくようです。使用方法は次のとおりです。
var customersByCountry = db.Customers
.GroupBy(c => c.CountryID);
.Select(g => new { CountryID = g.Key, Count = g.Count() });
var ranks = customersByCountry
.Select(c => new
{
c.CountryID,
c.Count,
Rank = customersByCountry.Count(c2 => c2.Count > c.Count) + 1
});