我有:
public class Order
{
public string Customer;
public List<OrderLine> OrderLines;
}
public class OrderLine
{
public decimal Quantity;
public decimal UnitPrice;
}
我的目标是按金额降序搜索客户订单列表。(金额==每个订单行的数量*单价)
假设我们有 2 个客户(客户 1、客户 2)的 6 个订单。每个客户有 3 个订单行。
我正在尝试:
var result = Database.GetAllOrders().OrderByDescending(order =>
order.Lines.Sum(ol=>ol.Quantity*ol.UnitPrice))
.GroupBy(order=>order.CustomerName,
order=>order.Lines.Sum(ol=>ol.Quantity*ol.UnitPrice),
(customerName, amount) => new {Customer=customerName, Amount=amount});
但我得到这样的东西:
客户 2:
- 金额:78
- 金额:89
- 金额:12
客户 1:
- 金额:64
- 金额:36
- 金额:28
而我试图寻求的是:
客户 2:
- 金额 179
客户 1:
- 金额 128
请问有什么建议吗?
非常感谢!