如何在LINQ中编写select和group语句?

问题描述 投票:0回答:1

我想知道如何在 LINQ 中重写查询,以使用 select 和 group 语句从数据库中获取数据。

身份证 项目 数量 金额 日期
1 挂锁 2 2.00 2024年9月4日
2 螺栓 1 5.00 2024年9月4日
3 螺栓 3 15.00 2024年4月10日
4 螺栓 1 5.00 11/04/2024

这是我尝试过的。下面的代码实际上从数据库中获取所有记录,但我不知道如何将 select 和 group 语句添加到其中。

[HttpGet]
    public object Get()
    {
        return new { Items = _context.OrderDetail.ToList(), Count = _context.OrderDetail.Count() };
    }
}

这就是我所期待的。

项目 数量 金额
挂锁 2 2.00
螺栓 5 25.00
扳手 3 5.00
c# asp.net-core
1个回答
0
投票

需要获得不同的名称以及总数量和总金额。请尝试如下所示。

var result = items
        .GroupBy(item => item.Name)
        .Select(group => new
        {
            Name = group.Key,
            TotalQty = group.Sum(item => item.Qty),
            TotalAmount = group.Sum(item => item.Amount)
        });
© www.soinside.com 2019 - 2024. All rights reserved.