Json Linq选择分组方式&;计数
控制器应返回用作D3.js折线图源的数据。在控制器中,我有一个对象列表,我只对属性“Begin”和count(Begin)感兴趣。Begin是一个datetime,我想要的是将所有“Begin”在同一天的对象分组,然后计算每天的数量 我尝试选择此信息并以以下方式返回:Json Linq选择分组方式&;计数,json,linq,d3.js,Json,Linq,D3.js,控制器应返回用作D3.js折线图源的数据。在控制器中,我有一个对象列表,我只对属性“Begin”和count(Begin)感兴趣。Begin是一个datetime,我想要的是将所有“Begin”在同一天的对象分组,然后计算每天的数量 我尝试选择此信息并以以下方式返回: var results = from a in db.Questionaires group a by a.Begin.Date into g
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的例子,我将不胜感激。你应该试试这个
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() };
谢谢如果我只想要结果日期(dd.mm.yyyy)和计数,那么我将如何实现?连接(…+““+…”)不起作用。我不确定您是否可以在将在数据库服务器中执行的linq查询中直接进行连接。对象上可能有一个只读属性,该属性将使用这些内部值为您提供一个日期/日期时间对象