使用实体框架查询时出错

时间:2013-06-04 20:48:10

标签: c# entity-framework

有谁能告诉我为什么以下代码不起作用?

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指令或汇编参考?)

我以为这会奏效。

1 个答案:

答案 0 :(得分:3)

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

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