2010-04-22 27 views
0

我有以下查询:转换SQL到LINQ查询 - 组/加盟/过滤

SELECT S.[FlowOrder], S.[DESCRIPTION], COUNT(I.ID) 
FROM WorkFlowStatus AS S 
INNER JOIN Item AS I 
    ON S.ID = I.StatusID 
WHERE I.Installation = '1' 
GROUP BY S.[Description], S.[FlowOrder] 
ORDER BY S.[FlowOrder] 

这给了我一个项目的数量,由外键分组到工作流程,输出描述性的名字从我FK表。

我与LINQ查询在后台(使用LINQ到SQL)走这么远:

var items = from s in _entities.WorkflowStatus 
    join i in _entities.Items on s.ID equals i.StatusId 
    into Statuses 
    orderby s.FlowOrder 
    select new {s.Description, ItemCount = Statuses.Count() }; 

我如何在SQL WHERE子句这个LINQ查询?

回答

3

这个怎么样?

var items = from s in _entities.WorkflowStatus 
    join i in _entities.Items.Where(item=>item. Installation == "1") on s.ID equals i.StatusId 
    into Statuses 
    orderby s.FlowOrder 
    select new {s.Description, ItemCount = Statuses.Count() };