Asp.net EF Core 3 x.where扩展方法返回IEnumerable而不是IQueryable

Asp.net EF Core 3 x.where扩展方法返回IEnumerable而不是IQueryable,asp.net,entity-framework-core,core,Asp.net,Entity Framework Core,Core,EF Core 3其中扩展方法返回IEnumerable,该方法返回数据库中的所有行。相反,我想要IQueryable,因为我想要基于条件构建查询,并且我不想在完成构建查询之前访问数据库 IQueryable<TEntity> query = _dbset.Where(predicate) if(condition) query = query.where(predicate) IQueryable查询=\u dbset.Where(谓词) 如果(条件) query=query.

EF Core 3
其中
扩展方法返回
IEnumerable
,该方法返回数据库中的所有行。相反,我想要
IQueryable
,因为我想要基于条件构建查询,并且我不想在完成构建查询之前访问数据库

IQueryable<TEntity> query = _dbset.Where(predicate)
if(condition)
query = query.where(predicate) 
IQueryable查询=\u dbset.Where(谓词)
如果(条件)
query=query.where(谓词)

谓词的类型是什么?如果它是
Func
(而不是
Expression
),那么
Where
将在所有LINQ版本中返回
IEnumerable
(与EF Core无关)。@IvanStoev谢谢我将谓词转换为Expression及其工作。