2009-08-17 75 views
0

我无法让Linq to Sql查询工作。基本上,我只需要一个表中列的总和,以便只匹配某个条件的行。一个简化的版本是这样的:LINQ to SQL - 选择SUM与WHERE

订单=包含产品为了 OrderProducts是在为了 产品=关系在表中的产品=有关产品含有表信息

我可以得到的数量的总和同类产品:

Dim totalQty = requests.Sum(Function(p) p.OrderProducts.Sum(Function(q) CType(q.ProductQty, Nullable(Of Integer)))) 

(要求是订单的IQueryable的)

但我也需要得到数量的总和,其中实际商品M有一定的条件。喜欢的东西...

 Dim totalQty = requests.Sum(Function(p) p.OrderProducts.Sum(Function(q) CType(q.ProductQty, Nullable(Of Integer)))) 

... WHERE p.OrderProducts.Product.ProductAttribute =真

我将如何去获得该查询与额外的where子句只获取qtys的总和productAttribute = true的地方?谢谢!

回答

0
Dim totalQty = requests _ 
    .Sum(Function(p) p.OrderProducts _ 
     .Where(Function(q) q.Product.ProductAttribute = true) _ 
     .Sum(Function(q) CType(q.ProductQty, Nullable(Of Integer)))) 
+0

完美!非常感谢! – Ryan 2009-08-17 15:22:55