IEnumerable 无法转换为 IQueryable
IEnumerable can't convert to IQueryable
到目前为止,我有一个 .net 4.7 库,我在其中以这种模式使用 IQuery:
IQueryable<MyType> myIQueryable = mySource;
if(paramIsNew != null)
{
myIQueryable = myIQueryable.where(x => x.IsNew == paramIsNew);
}
更多参数和条件依此类推
但是,现在我正在尝试将此库转换为 .net 标准库,但出现无法将 IEnumerable 转换为 IQueryable 的错误,它存在并且是显式转换。
我没有真正看到问题以及如何解决它。
那是因为 Queryable
class 和特定于可查询的扩展方法(如 Where
)不是默认 .NET Standard 库的一部分。因此,您使用 Enumerable.Where
扩展方法,即 returns IEnumerable
。您的 myIQueryable
是 IQueryable
类型,因此您遇到了编译器错误。您需要安装 System.Linq.Queryable
nuget 包,然后编译您的代码。
到目前为止,我有一个 .net 4.7 库,我在其中以这种模式使用 IQuery:
IQueryable<MyType> myIQueryable = mySource;
if(paramIsNew != null)
{
myIQueryable = myIQueryable.where(x => x.IsNew == paramIsNew);
}
更多参数和条件依此类推
但是,现在我正在尝试将此库转换为 .net 标准库,但出现无法将 IEnumerable 转换为 IQueryable 的错误,它存在并且是显式转换。
我没有真正看到问题以及如何解决它。
那是因为 Queryable
class 和特定于可查询的扩展方法(如 Where
)不是默认 .NET Standard 库的一部分。因此,您使用 Enumerable.Where
扩展方法,即 returns IEnumerable
。您的 myIQueryable
是 IQueryable
类型,因此您遇到了编译器错误。您需要安装 System.Linq.Queryable
nuget 包,然后编译您的代码。