Linq GROUP BY 和 SUM 可为空长

Linq GROUP BY and SUM nullable long

这是我的代码:

var Summary = ccL3.GroupBy(g => new
            {                    
                g.JOB_BASE_NUM,
                g.TOP_CUSTOMER_ID,
                g.TOP_DESCRIPTION

            })
               .Select(g => new Type2
               {                       
                   JOB_BASE_NUM = g.Key.JOB_BASE_NUM,
                   TOP_CUSTOMER_ID = g.Key.TOP_CUSTOMER_ID,
                   TOP_DESCRIPTION = g.Key.TOP_DESCRIPTION,
                   SUM_JOB1 = g.Sum(gs => gs.JOB1)                       
               })

编辑:这不是重复的。前面的讨论不能直接用在GROUP BY中

JOB1 为 nullable long。

问题是,如果 ccL3 中的所有 JOB1 都为空,我需要 SUM_JOB1 为空(如果全部为空或总和为 0,则 returns 0)。

我搜了下面的题目,没有linq中GROUP BY中SUM of null的讨论。有人能帮助我吗。谢谢。

参考: handle null in linq sum

Linq query with nullable sum

如果任何一项不为空,则使用Sum,否则为空

SUM_JOB1 = g.Any(gs => gs.JOB1 != null) ? g.Sum(gs => gs.JOB1) : null