2009-08-17 9 views
0

Linq to SQL 쿼리를 작동시키는 데 문제가 있습니다. 기본적으로, 특정 조건과 일치하는 행만 테이블의 열 합계를 원합니다. 단순화 된 버전은 이것이다 :LINQ to SQL - WHERE를 사용하여 SUM 선택

주문 = 제품을 포함하기 위해 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 = 사실

난 단지 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