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();

最后两行产生错误:

“System.Linq.IQueryable”不包含“Count”的定义,并且找不到接受“System.Linq.IQueryable”类型的第一个参数的扩展方法“Count”(您是否缺少 using 指令或程序集引用?)

和:

“System.Linq.IQueryable”不包含“ToList”的定义,并且找不到接受“System.Linq.IQueryable”类型的第一个参数的扩展方法“ToList”(您是否缺少 using 指令或程序集引用?)

我在想那会奏效。

4

1 回答 1

3

所有 LINQ 方法(除了CastOfType)都扩展了泛型集合接口。

您需要将变量声明为通用IQueryable<T>接口。
(或者只是用来var自动推断。)

于 2013-06-04T20:50:41.403 回答