代码之家  ›  专栏  ›  技术社区  ›  pdiddy

到Linq to Entities的SQL查询

  •  1
  • pdiddy  · 技术社区  · 14 年前

    如何将此查询转换为LINQ

    SELECT materialId, SUM(totalAmount) as quantity FROM Inventory
    

    这是我不知道怎么做的总和部分…

      query = from inv in context.Inventory
                            select new MaterialQuantity() 
                            {
                                MaterialId = inv.materialId,
                                Quantity = ??
                            };
    

    编辑 尝试求和totalAmount的值。

    这是一个观点

    materialId totalSum and other fields
    1          5
    1          10
    1          20
    

    所以我要我的Linq还给我 物化=1,数量=35

    1 回复  |  直到 14 年前
        1
  •  1
  •   Jon Skeet    14 年前

    我将在这里给出一个完整的猜测…假设您的库存有多个具有相同物化的行,并且您希望在这些组中求和,则可以使用:

    var query = from inv in content.Inventory
                group inv.totalAmount by inv.materialId into g
                select new { MaterialId = g.Key, Quantity = g.Sum() };
    

    如果你是 不过,试着分组,你需要澄清你的问题。样本数据和预期输出将有所帮助。