【问题标题】:LINQ to SQL - Select SUM with a WHERELINQ to SQL - 使用 WHERE 选择 SUM
【发布时间】:2009-08-17 14:51:46
【问题描述】:

我无法让 Linq to Sql 查询正常工作。基本上,我想要一个表中的列的总和,仅用于匹配特定条件的行。一个简化的版本是这样的:

订单 = 包含产品的订单 OrderProducts = 包含订单中产品的关系表 Products = 包含产品信息的表格

我可以得到这样的产品数量的总和:

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

(Requests 是 IQueryable 的订单)

但我还需要获得实际产品满足特定条件的数量总和。比如……

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

...其中 p.OrderProducts.Product.ProductAttribute = true

我将如何使用附加的 where 子句获取该查询,以仅获取 productAttribute = true 的 qtys 的总和?谢谢!

【问题讨论】:

    标签: asp.net vb.net linq-to-sql sum


    【解决方案1】:
    Dim totalQty = requests _
        .Sum(Function(p) p.OrderProducts _
            .Where(Function(q) q.Product.ProductAttribute = true) _
            .Sum(Function(q) CType(q.ProductQty, Nullable(Of Integer))))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多