Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IQueryable不包含';其中';林克,C#_C#_Linq_Model View Controller - Fatal编程技术网

IQueryable不包含';其中';林克,C#

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。 然而,现在所有依赖它的代码都抛出了一个错误,说“IQueryable不包含“Where”的定义

如何修复此问题,使Iqueryable可以有一个“where”语句

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
编译。