假设我们有一个简化的 Orders 实体,具有以下属性:Id(int,PK),orderDate(datetime,not null)和productCategory(string,not null) .
什么是 LINQ to Entities 查询,它返回按月,按月分组的每个类别的订单数量,按年份,按月排序?
输出应如下所示,以便使用 JQuery.getJSON()
将其作为Highcharts折线图的系列传递:
[{
name: 'Dairy',
data: [23, 27, 32, 44, 21, 30, 11, 0, 9, 24, 3, 19]
},
{
name: 'Frozen',
data: [11, 4, 0, 6, 8, 10, 17, 24, 18, 8, 23, 10]
}]
也就是说,每个类别有12个值,包括零 .
2 回答
这似乎有效:
首先,我们过滤去年任何日期的订单 . 然后我们按 productCategory 字段对结果进行分组 . 从这个分组中,我们创建了一个匿名投影类 . 这里我们将 name 字段设置为等于分组键(类别) . 为了填写 data 字段,我们使用匿名函数枚举每个月,并计算与我们分组的月份数和产品类别相匹配的每条记录 .
这允许我们将0个计数放在我们没有数据的月份 .