У меня есть простой 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' не поддерживается.
Там какой-либо другой путь состоит в том, чтобы добраться, делают это?Большое спасибо!
Итак, ответ:
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)
};
Это вернет самые последние записи.
Если нет причин для группировки, вы можете просто немного изменить свой запрос:
IQueryable<Alert> alerts = GetAlerts();
IQueryable latestAlerts = alerts.OrderByDescending(a => a.UpdateDateTime);
Должно быть
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