如何使用LINQ获得多个总计

Jon*_*ood 6 c# sql linq group-by

假设我在数据库中有以下数据.

class Data
{
    public int Category { get; set; }
    public int ValueA { get; set; }
    public int ValueB { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如何编写LINQ查询以获取所有行ValueA的总和以及ValueB所有行的总和Category == 1

我知道我可以加载所有数据,然后使用Sum加载的数据,但更愿意在数据库中将它们合计.

我知道我可以使用,group by但我没有任何分组.我只想从数据中得到这两个总数.

oct*_*ccl 3

如果您使用 EF,您可以尝试以下操作:

var result= context.Data.Where(d=>d.Category == 1)
                        .GroupBy(d=>d.Category)
                        .Select(g=>new {
                                         SumA=g.Sum(d=>d.ValueA),
                                         SumB=g.Sum(d=>d.ValueB)
                                       }
                               );
Run Code Online (Sandbox Code Playgroud)