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或类似的东西)? –