0
我有這樣的: 我有三個數據順序排序和地址列表。Linq加入,組和總和
我想加入這些列表。
Contents = from o in Orders
join a in addresses on o.DeliveryAddressId equals a.AddressId
//join ol in ordersLines on o.OrderId equals ol.OrderId
let ol = ShopOrderLines.Where(x=>x.OrderId == o.OrderId)
select new Order
{
OrderId = o.OrderId,
CreatedDate = o.CreatedDate,
Status = o.Status,
CustomerComment = o.CustomerComment,
AdminComment = o.AdminComment,
PaymentType = (PaymentType) o.PaymentStatus,
PaymentStatus = (PaymentStatus) o.PaymentType,
Firstname = a.Firstname,
Lastname = a.Lastname,
Sum = ol.Any() ? ol.Sum(x=>x.Quantity * x.Price) : 0
};
這工作正常,但我也想添加每個訂單orderline的總和。
就是這樣。總和=(ol.Vat * ol.Quantity)+(ol.Quantity + ol.Price)
我想我必須將結果分組計算?
有人嗎?
這看起來不正確。您正在爲每個訂單行*和每個地址創建一個新的'Order'實例。因此,如果一個訂單有兩個地址和兩個訂單行,則您將創建四個訂單對象。你確定你不想加入團隊嗎? –
作爲一個說明,它看起來像你分配兩個屬性錯誤的PaymentType =(PaymentType)o.PaymentStatus,和PaymentStatus =(PaymentStatus)o.PaymentType,'它看起來像一個錯字,屬性互換它們 – Jupaol
以及爲什麼你的Order類中沒有'Address DeliveryAddress'屬性(以及IList OrderLines或類似的東西)? –