IQueryable不包含';其中';林克,C#
我有一个查询,我对它做了一些修改,使之成为一个通用的Iqueryable。 然而,现在所有依赖它的代码都抛出了一个错误,说“IQueryable不包含“Where”的定义 如何修复此问题,使Iqueryable可以有一个“where”语句IQueryable不包含';其中';林克,C#,c#,linq,model-view-controller,C#,Linq,Model View Controller,我有一个查询,我对它做了一些修改,使之成为一个通用的Iqueryable。 然而,现在所有依赖它的代码都抛出了一个错误,说“IQueryable不包含“Where”的定义 如何修复此问题,使Iqueryable可以有一个“where”语句 IQueryable query = _db .BatchPayments .Where( bp => ValidBatchStatuesIds.Co
IQueryable query = _db
.BatchPayments
.Where(
bp => ValidBatchStatuesIds.Contains(bp.Batch.BatchStatusId)
&& (!OnlineBatchTypes.Contains(bp.Batch.BatchTypeId)
|| (OnlineBatchTypes.Contains(bp.Batch.BatchTypeId)))
)
.GroupBy(i => i.BatchId)
.Select(i => new
{
Amount = i.Sum(j => j.Amount)
});
if (model.AmountFrom.HasValue && model.AmountFrom.Value > 0)
{
query = query.Where(bp => bp.Amount >= model.AmountFrom); // This is the line it bugs out on that I need to work
hasInput = true;
}
是
IQueryable
上的扩展方法,而不是IQueryable
。您需要进行类型为IQueryable
的query
,以进一步过滤查询。您可以使用var
或投影出实际金额,而不是带有金额的匿名对象,从而允许query
成为IQueryable
(或amount
的任何数字类型)。是IQueryable
的扩展方法,而不是IQueryable
。您需要进行类型为IQueryable
的query
,以进一步过滤查询。您可以使用var
或投影出实际金额,而不是带有金额的匿名对象,这样query
就可以IQueryable
(或者无论amount
的数字类型是什么)。它需要是iqueable,指向Scott。。。但是,由于它返回一个匿名类型,您必须使用var
@DStanley如果是这种情况(事实并非如此),那么代码段前面的位置将不会编译,GroupBy
或Select
compile也不会编译。。。但是,由于它返回一个匿名类型,您必须使用var
@DStanley,如果是这种情况(事实并非如此),那么代码段前面的Where
将不会编译,也不会编译GroupBy
或Select
编译。