Linq为明显的计数

时间:2012-01-15 23:26:35

标签: c# asp.net linq linq-to-sql

我不知道该怎么做,我有这个问题的一部分:

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()

1 个答案:

答案 0 :(得分:4)

可能类似以下内容:

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