2016-08-17 90 views
1

我有一個查詢,我在SQL中編寫的,它的工作原理,我試圖將其移到適當的LINQ語句,似乎無法得到它很正確。Linq分組多個在哪裏條件

SQL查詢:

select sku 
from Table 
group by sku 
having count(sku) > 1 and count(distinct(unit)) > 1 

和我到目前爲止使用LINQ什麼

var dupCount = (from val in dt.AsEnumerable() 
        group val by new {sku = val[4]} into grp 
        where grp.Count() > 1 && grp.unit.Distinct().Count() > 1 
        select grp).ToList(); 

我似乎無法弄清楚如何在組內告訴那裏只與拉記錄一個獨特的「單位儲備」。

回答

1

我似乎無法弄清楚如何告訴組內的哪裏只有一個獨特的「unitreserve」拉記錄。

Select的 「unitreverse」 領域,應用Distinct然後Count它:

where grp.Count() > 1 && 
     grp.Select(dr => dr["unitreserve"]).Distinct().Count() > 1