Linq GROUP BY и SUM обнуляются долго - PullRequest
0 голосов
/ 21 декабря 2018

Вот мой код:

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 долго обнуляется.

Проблема в том, что мне нужно, чтобы SUM_JOB1 был нулевым, если все JOB1 в ccL3 равны нулю (возвращает 0если все равно нулю или если сумма равна 0).

Я искал следующие темы, но в GROUP BY в linq не обсуждается SUM of null.Может кто-то помочь мне, пожалуйста.Спасибо.

Ссылка: обрабатывать ноль в сумме linq

Запрос Linq с суммой, равной нулю

Force linqсумма для возврата ноль

1 Ответ

0 голосов
/ 21 декабря 2018

Если какой-либо элемент не равен NULL, используйте Sum, в противном случае NULL

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