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但我没有任何分组.我只想从数据中得到这两个总数.
如果您使用 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)