2011-08-24 61 views
0

所以我慢慢地讓我周圍的LINQ語法頭,但此查詢的駕駛我堅果..LINQ其中count檢查

我只想用一個以上的過濾器值返回過濾器..我已經試過把一組在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(); 

謝謝

回答

1

你可以寫這樣的查詢,通過使用into關鍵字

增加另一個加盟的_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(); 
+0

乾杯,這應該是一種魅力。編譯就好,但我現在還沒有收到任何數據,但是,需要檢查其他地方的錯誤..將再次更新,謝謝我從來沒有想過再次加入到組:) – Leigh