我的控制器中有这段代码
public JsonResult GetStatsSickDaysByMonth()
{
var sickDays = from day in sickdayRepository.All
group day by day.StartDate.Month into g
select new { month = g.Key, days = g.Sum(day => (day.EndDate - day.StartDate).Days + 1) };
return Json(sickDays, JsonRequestBehavior.AllowGet);
}
但是当我尝试运行时,我收到了这个错误:
DbArithmeticExpression参数必须具有数字公共类型。 ... 异常详细信息:System.ArgumentException:DbArithmeticExpression参数必须具有数字公共类型。
这是在常规的asp.net mvc控制器中。
我知道我可以使用更多"普通"处理并将数据添加到类等。有时候以这种方式返回数据非常方便
感谢您下面的评论:
我通过将代码更改为:
来根据注释修复此问题var sickDays = from day in sickdayRepository.All
group day by day.StartDate.Month into g
select new { month = g.Key, days = g.Sum(day => System.Data.Entity.DbFunctions.DiffDays(day.StartDate, day.EndDate)) };