Выберите новые записи с помощью LINQ для Объектов

У меня есть простой Linq к таблице Enities, чтобы запросить и получить новые записи с помощью Поля даты

Таким образом, я попробовал этот код:

IQueryable<Alert> alerts = GetAlerts();
IQueryable<Alert> latestAlerts =
    from a in alerts
    group a by a.UpdateDateTime into g
    select g.OrderBy(a => a.Identifier).First();

Ошибка: NotSupportedException: метод 'GroupBy' не поддерживается.

Там какой-либо другой путь состоит в том, чтобы добраться, делают это?Большое спасибо!

10
задан BlueRaja - Danny Pflughoeft 3 May 2010 в 20:49
поделиться

3 ответа

Итак, ответ:

var query =
    from alert in m_alerts
    group alert by alert.Identifier
          into g 
          select new 
          {
        GroupIdentifier = g.Key,
        UpdateDateTime = g.Max(p => p.UpdateDateTime) 
          };

Это вернет самые последние записи.

0
ответ дан 3 December 2019 в 22:35
поделиться

Если нет причин для группировки, вы можете просто немного изменить свой запрос:

IQueryable<Alert> alerts = GetAlerts();
IQueryable latestAlerts = alerts.OrderByDescending(a => a.UpdateDateTime);
4
ответ дан 3 December 2019 в 22:35
поделиться

Должно быть

IQueryable<Alert> latestAlerts =
    (from a in alerts
    group a by a.UpdateDateTime into g
    order by g.Key
    select g).First();

GroupBy определенно поддерживается Linq-to-Entities

0
ответ дан 3 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: