以下 Linq to Entities 查询将给出以下结果:
public class UserCountResult
{
public DateTime? date { get; set; } // **should this be string instead?**
public int users { get; set; }
public int visits { get; set; }
}
public JsonResult getActiveUserCount2(string from = "", string to = "")
{
var query = from s in db.UserActions
group s by EntityFunctions.TruncateTime(s.Date) into g
select new UserCountResult
{
date = g.Key, // can't use .toString("dd.MM.yyyy") here
users = g.Select(x => x.User).Distinct().Count(),
visits = g.Where(x => x.Category == "online").Select(x => x.Category).Count()
};
return Json(query, JsonRequestBehavior.AllowGet);
}
结果:
[{"date":"\/Date(1383433200000)\/","users":21,"visits":47},{"date":"\/Date(1383519600000)\/","users":91,"visits":236}]
我需要的日期格式是"dd.MM.yyyy",而不是像/Date(1383433200000)/这样的格式。
[{"date":"29.11.2013","users":21,"visits":47},{"date":"30.11.2013","users":91,"visits":236}]
我找不到在查询中修改格式的方法,也不确定该怎么做。我甚至不明白为什么g.Key是可空的。感谢任何意见!
g.Key.GetValueOrDefault()
。 - Rob LyndonSqlFunctions
,例如DatePart
来提取日期的每个部分,然后将它们连接在一起以获得所需的格式。 - King Kingdate
属性是DateTime?
类型,但您仍然想将其赋值给某个字符串? - King King