10

重複の可能性:
LINQ2SQL: IQueryable<> を IOrderedQueryable エラーに変換できません

コントローラーのsearchStringにこのエラーがあります..

ここに私のコードがあります:

if (!String.IsNullOrEmpty(searchString))
{ 
    posts = posts.Where(post => post.Body == searchString);
}

このコードをインデックスでの検索に使用しています。ここで何か間違ったことを宣言しましたか?私はすでにグーグルを試しましたが、明確な答えは見つかりませんでした。私を助けることができる人のために前もって感謝..

4

3 に答える 3

25

var原因として最も可能性が高いのpostsは、OrderBy. で置き換えると

IQueryable<Post> posts = someSource.Where(cond).OrderBy(/*the culprit*/);

エラーはなくなるはずです。

于 2013-01-09T04:34:21.177 に答える
6

あなたのposts変数はタイプのようIOrderedQueryable<Post>ですが、それを割り当ててい IQueryable<Post>ます。これを解決するには、変数の型を次のように変更するかIQueryable<Post>、クエリを次のように並べ替える2 つの方法があります。

posts = posts.Where(post => post.Body == searchString)
    .OrderBy(post => post.Date);
于 2013-01-09T04:36:15.097 に答える
0

postsIOrderedQueryableあり、 where への呼び出しは を返しますIQueryable。変数を明示的に宣言して、問題が解決するかどうかを確認してください。

于 2013-01-09T04:34:49.387 に答える