我有以下功能:
// GET: odata/EmpUtil
[EnableQuery]
public IQueryable<OriginalDetail> GetEmpUtil()
{
var test = db.OriginalDetail
.GroupBy(s => new { s.Billable_Project, s.Billable_Activity, s.Time_Date, s.Work_Hours_Per_Week })
.Select(x => new AggregateDetail {
Billable_Project = x.Key.Billable_Project,
Billable_Activity = x.Key.Billable_Activity,
Time_Date = x.Key.Time_Date,
Daily_Employee_Hours = x.Max(wh => wh.Work_Hours_Per_Week) / 5,
Total_Hours = x.Sum(th => th.Total_Hours)
});
return test;
}
如上所示,我有 OriginalDetail 作为Iqueryable,我想返回 AggregateDetail 对象。此外,我希望odata过滤器和查询能够用于 odata / EmpUtil ,即过滤器和查询应该在 originalDetail 上工作,因此,我正在尝试这样做。
由于测试的返回类型不是 OriginalDetail ,因此无法返回groupBy查询。如何才能工作?
我正在使用webapi2和odata3。