는 :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 시스템에는 왜 이러한 기본적인 제한이 있습니까? 제한이 결국은 SQL에 해당 쿼리를 번역하는 사실에 내려 와서 SQL은 SELECT BOTTOM
(그런 일을) (T-SQL에서)를 SELECT TOP
이 없습니다하지만 그건
IEnumrable 개체를 새 변수에 저장 한 다음 variable.last()를 반환합니다. 그것은 효과가있을 것이다. –