2017-03-02 89 views
0

我有两个对象列表,我需要加入Sku然后再计算SumQty * Price)。我不确定如何做到这一点?以下是我迄今为止:Linq查询加入两个对象并计算总和

var profit = (from order in orders 
      join cost in costs 
      on order.Sku equals cost.Sku 
      select (order.Qty * cost.Price)).Sum(); 

从这里摘自:

List<Order> orders = new List <Order> 
{ 
    new Order() { Sku = "ABC", Qty = 1 }, 
    new Order() { Sku = "XYZ", Qty = 2} 
}; 

List<Cost> costs = new List <Cost> 
{ 
    new Cost() { Sku = "ABC", Price = 4.50m }, 
    new Cost() { Sku = "XYZ", Price = 2.25m } 
}; 


var profit = from order in orders 
      join cost in costs 
      on order.Sku equals cost.Sku 
      select Sum(order.Qty * cost.Price) 
+0

到底哪里出问题了? – Chris

+0

它不喜欢最后一行'选择总和(order.Qty * cost.Price)' – PixelPaul

+0

如果没有完全1:1的'Order'和'Cost'对象会怎么样?我假设你将需要一些分组。 –

回答