将简单的Sql查询转换为Linq

时间:2016-06-05 20:50:41

标签: c# sql-server entity-framework linq asp.net-web-api

我正在研究我的学校项目,并且我正在编写LINQ查询,因此很难将此SQL查询转换为LINQ。我在编写十大最畅销产品的linq查询时遇到问题。我有产品表和销售项目表。

enter image description here

我的SQL查询效果很好。 enter image description here

我试过这个:

  List<Proizvodi> proizvodi = db.Proizvodi.
            OrderByDescending(x => db.IzlazStavke.Where(y => y.ProizvodID == x.ProizvodID).
            Sum(t => t.Cijena)).Take(10).ToList();

但结果不好,请帮忙。

1 个答案:

答案 0 :(得分:1)

我会尝试这样的事情:

List<Proizvodi> proizvodi = db.Proizvodi
        .OrderByDescending(x => db.IzlazStavke
             .Where(y => y.ProizvodID == x.ProizvodID)
             .GroupBy(a=>a.ProizvodID)
             .Select(grp=>grp.Sum(z=>z.Kolicina))
        .Take(10)
        .ToList();