【发布时间】:2022-01-22 10:41:20
【问题描述】:
我想通过 'ItemTitle' 列在我的 Orders 表中查找最受欢迎的商品。
ItemTitle 有以下内容:
- 国王汉堡
- 夏威夷人
- 意大利经典
- 提拉米苏
- 国王汉堡
- 国王汉堡
- 意大利经典
- 意大利经典
- 国王汉堡
查找最受欢迎的项目的最佳 LINQ 查询是什么?谢谢!
这是我的尝试:
return _DbContext.Orders.GroupBy(x => x.ItemTitle).Where(g => g.Count() > 1).OrderByDescending(g => g.Count()).Select(g => g.Key).Take(1);
它可以工作,但是它有一个错误。错误是 Orders 有 Quantity 列。 前任: 在下面的列表中有 4 King Burger's x 1 - 数量。 如果提拉米苏有 x 10 - 数量,那么现在最受欢迎的应该是提拉米苏。
【问题讨论】:
-
您能否提供您为自己制作解决方案所做的尝试?此外,考虑如何找到解决方案(除了语义)可能会有所帮助 - 例如,将标题组合在一起以查找它出现的次数并返回
-
我的方法可以用 for 循环来完成。不幸的是,我对 LINQ 没有太多经验。我最常使用 Where、Select、FirstOrDefault、Count、Max、Average 和 Include
标签: asp.net .net asp.net-mvc