gpt4 book ai didi

c# - 获取前 3 个最受欢迎的项目 c# linq EF

转载 作者:行者123 更新时间:2023-12-04 02:37:41 25 4
gpt4 key购买 nike

public class OrderItem
{
[Key]
public int ItemId { get; set; }
public int ProductId { get; set; }
public virtual Product product { get; set; }
public int Quantity { get; set; }
}
public class Product
{
[Key]
public int ProductId { get; set; }
}

这是我的两个类(class)。我想根据每种产品的数量选择前 3 名最受欢迎的产品。喜欢:

[ProductTable]
1
2
3
4


[OrderItemTable]
1, 1, 20
2, 2, 10
3, 3, 5
4, 4, 100
5, 3, 25

结果应该是:
4、3、1 或产品列表。
谢谢。

最佳答案

我确信这绝不是最优的,但我相信这是你想要的

context.Set<OrderItem>()
.GroupBy(x=>x.ProductId)
.Select(x=>new{ProductId=x.Key, QuantitySum=x.Sum(a=>a.Quantity)})
.OrderByDescending(x=>x.QuantitySum)
.Select(x=>x.ProductId)
.Take(3)
.ToList();

关于c# - 获取前 3 个最受欢迎的项目 c# linq EF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60903937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com