SQL Count (*) в C # лямбда-выражении - PullRequest
0 голосов
/ 16 мая 2018

Как реализовать SQL-запрос с Count(*) в лямбда-выражении?

Я хочу преобразовать запрос, подобный следующему:

SELECT SendType, 
    CASE WHEN Date IS NULL THEN
        'NEW'
    ELSE
        'NOT NEW'
    End Registry,
    Count(*) as TotalSent
FROM [dbo].[Sends]
WHERE Disabled = 0
GROUP BY 
    SendType, 
    Registry

, в некоторое лямбда-выражениекак это:

context.EnviosPendientes
    .Where(ep => ep.Disabled == false)                        
    .Select(ep => new {
        SendType = ep.SendType,
        Registry = ep.Date == null ? "NEW" : "NOT NEW"
    })
    .GroupBy(ep => new { ep.TipoEnvio, ep.TipoReg })

но я не знаю, как включить в результат выберите Count(*) as TotalSent.

1 Ответ

0 голосов
/ 16 мая 2018

Добавить что-то вроде:

.GroupBy(ep => new { ep.SendType, ep.Registry })
.Select(ep => new
{
    ep.Key.SendType,
    ep.Key.Registry,
    TotalSent = ep.Count()
});

Полученный IEnumerable<> будет иметь три свойства: SendType, Registry, TotalSent.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...