私は持っている:
public class Order
{
public string Customer;
public List<OrderLine> OrderLines;
}
public class OrderLine
{
public decimal Quantity;
public decimal UnitPrice;
}
私の目標は、顧客注文のリストを降順で検索することです。(Amount == Quantity*UnitPrice のすべてのオーダーラインの追加)
2 人の顧客 (Customer1、Customer2) の 6 つの注文があるとします。各顧客には 3 つの orderLines があります。
私は試しています:
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
何か提案はありますか?
本当にありがとう!