LINQ在哪里进行计数检查
所以我正在慢慢地了解LINQ语法,但是这个查询快把我逼疯了 我只想返回具有多个筛选器值的筛选器。。我试着在fv上放一个群组,但p超出了范围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
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();
干杯,这应该很有魅力。编译很好,但是我现在根本没有得到任何数据,需要检查其他地方的错误。。将再次更新,谢谢我从未想过再次加入一个组:)