计数使用LINQ每月发布的总数

  • 本文关键字:LINQ sql linq
  • 更新时间 :
  • 英文 :


我正在做一个示例项目,它统计每月要显示在条形图中的问题总数。。

这是我正在使用的SQL查询

SELECT 
SUM(CASE datepart(month,D_ISSUE) WHEN 1 THEN 1 ELSE 0 END) AS 'Jan',
SUM(CASE datepart(month,D_ISSUE) WHEN 2 THEN 1 ELSE 0 END) AS 'Feb',
so on...
FROM EMP_MEMOS 

有人能帮我把这个SQL查询转换成一个LinQ代码吗。我仍在努力了解是如何工作的

到目前为止,这是我的代码,但我仍然无法使其工作。

public ActionResult MonthCount()
{
var Monthly = (from f in db.EMP_MEMOS
group f by new { month = f.D_ISSUE, year = f.D_ISSUE } into g
orderby g.Key.year
select new
{
dt = string.Format("{0}/{1}", g.Key.month, g.Key.year),

}).ToList();
return Json(new { result = Monthly }, JsonRequestBehavior.AllowGet);
}

我已经得到了答案,将在这里分享:

public ActionResult CountMonth()
{
var memo = from t in db.EMP_MEMOS
select new
{
t.D_ISSUE.Value.Month,
t.D_ISSUE.Value.Year
};
var res = from s in memo
group s by new { s.Year, s.Month } into g
select new
{
Period = g.Key,
MemoCount = g.Count(),
};
return Json(new { result = res }, JsonRequestBehavior.AllowGet);
}

最新更新