: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());
}
私はそれは私も最初のクエリをミラーリングするために、p.First()
を使用することができませんでし
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());
}
を動作させるために、このに切り替えなければなりませんでした。
このような堅牢なORMシステムには、なぜ基本的な制限がありますか?制限は、最終的にはSQLにそのクエリを変換するために持っているとSQLがSELECT TOP
(T-SQLで)ではなくSELECT BOTTOM
(ノーようなもの)を持っているという事実に降りてくること
IEnumrableオブジェクトを新しい変数に格納してから、variable.last()を返します。それが動作します。 –