Как я могу сделать это с помощью LINQ? - PullRequest
0 голосов
/ 10 мая 2010

Все, что я делаю после этого, это:

SELECT CallTypeID, Count(CallTypeID) as NumberOfCalls
FROM [Helpdesk_HR].[dbo].[CallHeader]
WHERE CallHeader.DateOpened <= GETDATE()-7
GROUP BY CallTypeID

в LINQ. Но я не могу найти способ сделать это и заставить его работать. Я бы использовал Linqer, но моя компания не будет платить за это в настоящее время.

Любая помощь очень ценится, так как я уверен, что ответ очевиден. Сегодня был только один из тех дней.

Ответы [ 2 ]

2 голосов
/ 10 мая 2010

Примерно так:

var callGroups = from ch in CallHeader
        where ch.YourDate <= DateTime.Now.AddDays(-7)
        group ch by ch.CallTypeID into grp
        select new { CallTypeID = grp.Key, Cnt = grp.Count() };

Я не проверял, так что синтаксис может быть отключен.

0 голосов
/ 10 мая 2010

Попробуйте это:

var query = from call in context.CallHeader
            where call.DateOpened <= DateTime.Today.AddDays(-7)
            group call by call.CallTypeId into grouped
            select new { CallTypeId = grouped.Key, Count = grouped.Count() };

Бит DateTime.Today может быть немного отключен - это зависит от того, как ваши даты хранятся в базе данных. Вы можете определить дату перед запросом, а затем просто использовать "where call.DateOpened <= limit" или что-то подобное.

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