代码之家  ›  专栏  ›  技术社区  ›  Paddy

将SQL转换为LINQ查询-group/join/filter

  •  0
  • Paddy  · 技术社区  · 15 年前

    我有以下疑问:

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

    1 回复  |  直到 15 年前
        1
  •  3
  •   drs9222    15 年前

    这个怎么样?

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