SQL Server组使用LINQ

时间:2015-10-07 08:34:23

标签: c# .net linq

我在我的示例应用程序中使用Entity Framework。它有两个DbSets public enum SingletonEnum { INSTANCE; private final Object obj = new Object(); public Object getObject() { return obj; } } TICKETS,它们对应DEPARTMENTTICKETS sql server表。

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

DEPARTMENT

2 个答案:

答案 0 :(得分:2)

您应该可以使用以下LINQ-Query来实现结果:

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

答案 1 :(得分:1)

您也可以使用此方法语法。

db.Tickets.Join(db.Department,t=>t.FK_DEPT_ID,d=>d.PK_DEPT_ID,(x,y)=>new{x.STATUS,y.NAME})
          .GroupBy(g=>new {g.STATUS,g.NAME})
          .Select(z=>new {z.Key.Name,z.key.STATUS,z.Count()})