0

次のコードが機能しない理由を誰か教えてもらえますか?

IQueryable query = from pr in Repository.Query<ProviderRanking>()
                   orderby pr.ProviderRankingFlags.Any(), pr.TimestampUtc
                   select pr;

int count = query.Count();
IEnumerable<ProviderRanking> reviews = query.ToList();

最後の 2 行でエラーが発生します。

'System.Linq.IQueryable' には 'Count' の定義が含まれておらず、タイプ 'System.Linq.IQueryable' の最初の引数を受け入れる拡張メソッド 'Count' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか? ?)

と:

'System.Linq.IQueryable' には 'ToList' の定義が含まれておらず、タイプ 'System.Linq.IQueryable' の最初の引数を受け入れる拡張メソッド 'ToList' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか? ?)

私はそれがうまくいくと思っていました。

4

1 に答える 1

3

すべての LINQ メソッド (Castとを除くOfType) は、ジェネリック コレクション インターフェイスを拡張します。

IQueryable<T>変数をジェネリックインターフェイスとして宣言する必要があります。
(または、varそれを自動的に推測するために使用します。)

于 2013-06-04T20:50:41.403 に答える