groupby然后在实体框架中的单独表达式中求和

6psbrbz9  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(310)

通常当我们这样做的时候 GroupBy 以及 Sum 在实体框架中,我们有如下内容:

var query = from q in db
            group q by q.Gender into g
            select new
                {
                  name = g.Key,
                  value = g.Sum(a => a.saving_amount)
                };

如果我想分离上述查询并构建 GroupBy 并选择 Sum 一步一步地,我有:

var q1 = from q in db
         group q by q.Gender

var q2 = q1.Select (g=> new{
    name = g.Key
    value = g.Sum(a => a.saving_amount)
});

但是,如果我这样做,我会得到一个错误消息
“object”不包含“saving\u amount”的定义,也没有可访问的扩展方法“saving amount”。。。
为了确保我有'储蓄金额',我输出我的结果,所以

var q1 = from q in db
         group q by pc.Gender

var q2 = q1.Select (g=> new{
    name = g.Key
    value = g.ToList()
});

并确认我的“保存金额”是对象列表中的属性(下面是通过使用postman的api输出的示例)
[{“name”:“female”,“value”:[{“id”:“xx”,“version”:“r”,“发行日期”:“2021-01-26t00:00:00”,“保存金额”:100000.0000,。。。
我的问题是如何在单独的查询下对“储蓄金额”求和?
谢谢您。

2wnc66cl

2wnc66cl1#

看来我用下面的方法解决了

var q1 = from q in db
         group q by q.Gender

var q2 = q1.Select (g=> new{
    name = g.Key
    value = g.Select(a => a.saving_amount).Sum()
});

相关问题