返回Json结果失败

时间:2014-08-14 12:47:51

标签: c# asp.net asp.net-mvc json

我的控制器中有这段代码

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)) };

0 个答案:

没有答案