C# 在google图表上使用返回JSON和Linq计算列行

C# 在google图表上使用返回JSON和Linq计算列行,c#,asp.net,json,linq,C#,Asp.net,Json,Linq,您好,我目前正在使用asp.net MVC 5进行一个项目,我遇到了一个查询问题,我似乎无法计算我的所有行并将它们分组到一个与其相关的类别中 我的SQL语句如下所示,它返回按状态分组的订单计数 SELECT COUNT(OrderID) as 'Orders' ,order_status FROM [ORDER] group by order_status; 我希望通过在我的控制器中使用JSON来填充我的图表,我有返回JSON public ActionResult GetChart()

您好,我目前正在使用asp.net MVC 5进行一个项目,我遇到了一个查询问题,我似乎无法计算我的所有行并将它们分组到一个与其相关的类别中

我的SQL语句如下所示,它返回按状态分组的订单计数

SELECT COUNT(OrderID) as 'Orders' ,order_status FROM [ORDER]
group by order_status;
我希望通过在我的控制器中使用JSON来填充我的图表,我有返回JSON

  public ActionResult GetChart()
    {
       var orders = db.Order.GroupBy(i => i.order_status).Select(i => new { Amount = i.Sum(b => b.OrderID), Name = i.Key }).OrderBy(i => i.Amount).Count();
        return Json(orders, JsonRequestBehavior.AllowGet);
    }
尽管图表上没有显示任何条形图,但图表绘制效果良好。请帮帮我 提前谢谢

*我仍然是这方面的初学者,请记住

在查询结束时有一个Count调用,它只返回IEnumerable中的元素数。您的订单类型现在实际上是int。如果删除调用,将返回实际数据,而不仅仅是元素的数量

var orders = db.Order.GroupBy(i => i.order_status).Select(i => new { Amount = i.Sum(b => b.OrderID), Name = i.Key }).OrderBy(i => i.Amount);
OrderID的计数在Sum调用中完成,无需再次计数