LINQ To Entities не распознает метод Last. В самом деле?

В этом запросе:

public static IEnumerable<IServerOnlineCharacter> GetUpdated()
{
    var context = DataContext.GetDataContext();
    return context.ServerOnlineCharacters
        .OrderBy(p => p.ServerStatus.ServerDateTime)
        .GroupBy(p => p.RawName)
        .Select(p => p.Last());
}

Мне пришлось переключить его на это, чтобы он работал

public static IEnumerable<IServerOnlineCharacter> GetUpdated()
{
    var context = DataContext.GetDataContext();
    return context.ServerOnlineCharacters
        .OrderByDescending(p => p.ServerStatus.ServerDateTime)
        .GroupBy(p => p.RawName)
        .Select(p => p.FirstOrDefault());
}

Я даже не мог использовать p.First(), чтобы отразить первый запрос.

Почему существуют такие основные ограничения в том, что в противном случае является такой надежной системой ORM?

139
задан Mong Zhu 8 December 2016 в 08:53
поделиться