1

LINQ to Entitiesは、メソッド'Int64 getCount()'メソッドを認識せず、このメソッドをストア式に変換できません。

return query.OrderBy(e => e.Person.getCount(), sortDirection);

この行をどのように書き直すことができますか?

4

1 に答える 1

4

使ってください:

return query.ToList().OrderBy(e => e.Person.getCount(), sortDirection);

EFがgetCount()メソッドをSQLに変換しようとする場合です。カスタムメソッドであるため実行できないためToList()、式を評価し、EFにデータベースからメモリにオブジェクトをロードさせるために呼び出す必要があります。次に、linqはカスタム関数を呼び出してデータを並べ替えることができます。

于 2012-12-05T21:02:14.853 に答える