控制器应返回用作D3.js折线图源的数据。在控制器中,我有一个对象列表,我只对属性“Begin”和count(Begin)感兴趣。 Begin是一个日期时间,我想要的是将所有“Begin”在同一天的对象分组,然后计算每天的数字。
我尝试选择此信息并以这种方式返回:
var results = from a in db.Questionaires
group a by a.Begin.Date into g
select new { Date = g.Key, Count = g.Count() };
return Json( results, JsonRequestBehavior.AllowGet);
不幸的是,我收到错误,因为group by子句似乎是错误的(“LINQ to Entities中不支持指定的类型成员'Date'。仅支持初始值设定项,实体成员和实体导航属性。 “)。
如何以正确的方式选择信息?如果有人在D3.js和MVC上有一些例子我会很感激。
答案 0 :(得分:1)
你应该试试这个
var results = from a in db.Questionaires
group a by new { y = a.Begin.Year, m = a.Begin.Month, d = a.Begin.Day}
into g
select new { Day = g.Key.d, Year = g.Key.y,
Month = g.Key.m, Count = g.Count(),
Date = g.Select(d=>d.Begin).FirstOrDefault() };