我似乎无法弄清楚如何做到这一点。
我有一个具有DateTime
属性和int
我想按小时对DateTime
进行分组,然后每小时平均TimeTaken
个属性。
模型
public class ChartModel
{
public DateTime Date { get; set; }
public int TimeTaken { get; set; }
}
控制器
public ActionResult PopulateResponseTimeChart()
{
// selectedItem is a type of IEnumerable<ChartModel>
var average = selectedItem.GroupBy(x => x.Date.Date).Select(x => new { Date = x.Key, Average = x.Average(a => a.TimeTaken) });
var data = average.Select(x => x.Average.ToString(CultureInfo.CurrentUICulture)).ToArray();
var time = average.Select(x => x.Date).ToArray();
// Other stuff
}
以上情况似乎不起作用。 average
只包含1个结果,当我期望它是每小时。
这背后的原因是我想在JS libary Highcharts中使用它
答案 0 :(得分:2)
selectedItems.GroupBy(x => x.Date.Hour)
.Select(g => new { Hour = g.Key, AverageTimeTaken = g.Average(x => x.TimeTaken) });