IEnumerable无法转换为IQueryable

时间:2017-06-14 14:52:43

标签: c# ienumerable iqueryable

到目前为止,我有一个.net 4.7库,我在这个模式下使用IQuery:

IQueryable<MyType> myIQueryable = mySource;

if(paramIsNew != null)
{
    myIQueryable = myIQueryable.where(x => x.IsNew == paramIsNew);
}

依此类推更多参数和条件。

但是,现在我正在尝试将此库转换为.net标准库,但是我收到的错误是我无法将IEnumerable转换为IQueryable,它存在且显式转换。

我没有看到问题,如何解决问题。

1 个答案:

答案 0 :(得分:3)

因为Queryable类以及特定于查询的扩展方法(如Where)不属于默认的.NET标准库。因此,您使用Enumerable.Where扩展方法,该方法返回IEnumerable。您的myIQueryable类型为IQueryable,因此您收到编译错误。你需要安装System.Linq.Queryable nuget包,然后安装你的代码。