有谁能告诉我为什么以下代码不起作用?
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'的定义,并且没有扩展方法'Count'接受类型'System.Linq.IQueryable'的第一个参数可以找到(你是否缺少using指令或汇编参考?)
和
'System.Linq.IQueryable'不包含'ToList'的定义,并且没有扩展方法'ToList'接受类型'System.Linq.IQueryable'的第一个参数可以找到(你是否缺少using指令或汇编参考?)
我以为这会奏效。
答案 0 :(得分:3)
所有LINQ方法(Cast
和OfType
除外)都扩展了泛型集合接口。
您需要将变量声明为通用IQueryable<T>
接口
(或者只使用var
自动推断。)