Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/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
LINQ在哪里进行计数检查_Linq_Count_Group By_Where - Fatal编程技术网

LINQ在哪里进行计数检查

LINQ在哪里进行计数检查,linq,count,group-by,where,Linq,Count,Group By,Where,所以我正在慢慢地了解LINQ语法,但是这个查询快把我逼疯了 我只想返回具有多个筛选器值的筛选器。。我试着在fv上放一个群组,但p超出了范围 var filters = (from p in _db.Products join pf in _db.ProductFilterSets on p.ProductID equals pf.ProductID join fv in _db.FilterValues on

所以我正在慢慢地了解LINQ语法,但是这个查询快把我逼疯了

我只想返回具有多个筛选器值的筛选器。。我试着在fv上放一个群组,但p超出了范围

        var filters = (from p in _db.Products
                  join pf in _db.ProductFilterSets on p.ProductID equals pf.ProductID
                  join fv in _db.FilterValues on pf.FilterValueID equals fv.FilterValueID
                  join f in _db.Filters on fv.FilterID equals f.FilterID
                  where products.Contains(p) 
                  select f).Distinct();
我做错了什么

我需要:

        var filters = (from p in _db.Products
                  join pf in _db.ProductFilterSets on p.ProductID equals pf.ProductID
                  join fv in _db.FilterValues on pf.FilterValueID equals fv.FilterValueID
                  join f in _db.Filters on fv.FilterID equals f.FilterID
                  where products.Contains(p) && fv.Count() > 1
                  select f).Distinct();

谢谢

您可以这样编写查询,在_db.FilterValues上添加另一个联接,但使用
关键字将结果投影到组中

var filters = (from p in _db.Products
               join pf in _db.ProductFilterSets on p.ProductID equals pf.ProductID
               join fv in _db.FilterValues on pf.FilterValueID equals fv.FilterValueID into fvg
               join fv in _db.FilterValues on pf.FilterValueID equals fv.FilterValueID
               join f in _db.Filters on fv.FilterID equals f.FilterID
               where products.Contains(p) && fvg.Count() > 1
               select f).Distinct();

干杯,这应该很有魅力。编译很好,但是我现在根本没有得到任何数据,需要检查其他地方的错误。。将再次更新,谢谢我从未想过再次加入一个组:)