【问题标题】:Equivalent of this SQL query in LINQ using Lambda使用 Lambda 在 LINQ 中等效于此 SQL 查询
【发布时间】:2011-09-22 11:09:31
【问题描述】:

以下查询的正确 lambda 语法是什么?

SELECT a.Title, Count(b.Id) FROM a INNER JOIN b on a.Id = b.FK_Id GROUP BY a.Title  

我知道如何使用 join,但不知道在这种情况下如何使用聚合和分组。
谢谢。

【问题讨论】:

  • linq 到 sql?实体框架?数据集?

标签: sql sql-server linq lambda


【解决方案1】:

在我看来是这样的:

var query = from a in TableA
            join b in TableB on a.Id equals b.FkId
            group b by a.Title into g
            select new { Title = g.Key, Count = g.Count() };

或者在非查询语法中:

var query = TableA.Join(TableB, a => a.Id, b => b.FkId, (a, b) => new { a, b })
                  .GroupBy(z => z.a.Title, z => z.b)
                  .Select(g => new { Title = g.Key, Count = g.Count() });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多