我没有在 linq 中真正使用 order by

I didn't true use order by in linq

您好,我使用 C# 开发 Web 应用程序。我有 sql 查询,我转换为 linq,但由于按

排序,它无法正常工作

我的sql查询

Select TOP 3 HastalikIsmi From Hastaliklar group by HastalikIsmi order by Count(*) desc

我的linq

public List<HastalikDto> GetHastalikDto()
    {
        using (SirketDBContext context = new SirketDBContext())
        {
            var result = from hastalik in context.Hastaliklar                            
                         group hastalik by hastalik.HastalikIsmi into isim
                         
                         select new HastalikDto { HastalikIsmi = isim.Key };                         

            return result.OrderBy(h => h.HastalikIsmi).Take(3).ToList();
        }
    }

以下是您如何根据每组的计数进行排序,并取计数最高的 3 个。

var result = context.Hastaliklar
    .GroupBy(x => x.HastalikIsmi)
    .OrderByDescending(grp => grp.Count())
    .Select(grp => grp.Key)
    .Take(3)
    .ToList();