我在我的示例应用程序中使用Entity Framework。它有两个DbSets public enum SingletonEnum {
INSTANCE;
private final Object obj = new Object();
public Object getObject() {
return obj;
}
}
和TICKETS
,它们对应DEPARTMENT
和TICKETS
sql server表。
我想编写LINQ查询,这会导致下面的sql查询或产生类似于它的输出。
DEPARTMENT
答案 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()})