使用实体框架进行分组

本文关键字:框架 实体 | 更新日期: 2023-09-27 17:55:21

大家好,我有一个sql查询,我想使用实体框架执行相同的查询并将其绑定到gridview,有人可以帮助我。这是我的查询

SELECT Technology,[Description], Technologies.TechID, COUNT(*) AS 'num_employees'
FROM Technologies
LEFT JOIN Questions   
ON Questions.TechID = Technologies.TechID
GROUP BY Technologies.TechID, Technology,[Description]

如何使用EF转换相同的

使用实体框架进行分组

结果

就个人而言,我会将其作为存储过程,并将其导入 EF 中。 然后,您只需在代码中调用它并将结果数据绑定到网格。

这样,加入、分组等都发生在服务器端而不是客户端。 否则,您将向客户端发送比必要更多的信息。 此外,从理论上讲,服务器可以比客户端更快地执行这些操作。

试试这个,我没有时间测试它的逻辑和语法。你需要类似的东西。

var q = from a in context.Technologies
    join b in context.Questions
    on a.TechID equal b.TechID into j1
    from j2 in j1.DefaultIfEmpty()
    group j2 by new { a.TechID, b.Technology, b.Description into grouped
    select new { Tecnology = grouped.Technology, Description = grouped.Description, Count = grouped.Count() }