2012-01-15 68 views
2

我不知道如何做到這一點,我有一個查詢的這個部分:的LINQ的重複計數

let DistinctHits = db.tblTrackerVisits 
    .Where() 
    .Select(d=>d.IPID) 
    .Distinct() 
    .Count() 

有一個表叫db.tblTrackerVisitVariables

enter image description here

我試圖做的是修改上面的查詢,以便它只計算其中一個相關tblTrackerVisitVariable記錄的VariableIDn的不同記錄。

一個僞例子可能更清楚:

let DistinctHits = db.tblTrackerVisits 
    .Where(d=> db.tblTrackerVisitVariables.where(v=>v.VisitID == d.ID AND v.VariableID == n)) 
    .Select(d=>d.IPID) 
    .Distinct() 
    .Count() 

回答

4

也許類似以下內容:

let DistinctHits = db.tblTrackerVisits 
    .Where(d => d.tblTrackerVisitVariables.Any(v => v.VariableID == n)) 
    .Select(d => d.IPID) 
    .Distinct() 
    .Count() 
+0

謝謝!很棒 – 2012-01-15 23:51:59