c# - 使用 LINQ 的 SQL Server 组

标签 c# .net linq

我在示例应用程序中使用 Entity Framework 。它有两个 DbSets TICKETSDEPARTMENT 分别对应 TICKETSDEPARTMENT sql server 表。

我想编写 LINQ 查询,它会导致下面的 sql 查询或产生类似的输出。

SELECT   D.NAME as DeptName, T.STATUS as Status, COUNT(1) as Count
FROM     TICKETS T
      , DEPARTMENT D 
WHERE    T.FK_DEPT_ID = D.PK_DEPT_ID
GROUP BY D.NAME , T.STATUS;

最佳答案

您应该能够使用以下 LINQ 查询来实现您的结果:

var result = from t in conn.TICKETS
             join dept in conn.DEPARTMENT on t.FK_DEPT_ID equals dept.PK_DEPT_ID
             select new { DeptName = dept.NAME, Status = t.STATUS }
             into temp
             group temp by new { temp.DeptName, temp.Status }
             into g
             select new { g.Key.DeptName, g.Key.Status, Count = g.Count()};

关于c# - 使用 LINQ 的 SQL Server 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32987455/

相关文章:

sql - 在linqpad中使用sqlfunctions

c# - 尝试使用 Nancy SuperSimpleViewEngine 渲染局部时获取 [ERR!] 作为输出

c# - MVC 中 Controller 操作命名的一致性

.net - 如何找到.NET项目的所有依赖项?

c# - ASMX文件上传

c# - 当想要序列化 SOAP 时如何强制设置某个成员值

c# - 对 Dictionary<int, double> 类型的 Linq 查询

c# - 基于参数值的linq中的多个where

c# - 带有可选文本的控制台应用程序

c# - 如何设置另一个应用程序焦点并使其成为事件窗口