我在这个链接中有一个表ot_request。我必须返回具有以下条件的ot_request
实体类列表。
status_id==5
project_id
project_id
分组后,会有一些creator_id
具有相同的值。因此,在project_id
分组中,我必须再次按照creator_id
对这些项目进行分组,并将worktime_hours
归为它们。我尝试过以下Linq查询: (上下文是数据库实体的对象)
IQueryable<ot_request> filterList = context.ot_request
.Where(o => o.status_id == 5)
.GroupBy(o => o.project_id)
.Select(o => new { Project = o.Key,
Total = o.Sum(v=>v.worktime_hours))})
.OrderByDescending(o => o.Total);
但是它显示了错误消息:
错误1无法隐式转换类型
'System.Linq.IOrderedQueryable<AnonymousType#1>'
来'System.Linq.IQueryable<Project.DataEntity.ot_request>'
。 存在显式转换(您是否错过了演员?)
任何人都可以帮我解决问题吗?
答案 0 :(得分:0)
我建议改变:
.OrderByDescending(o => o.Total);
为:
.OrderByDescending(o => o.Total).Select(z => z.Project);
您目前正在通过现有的Select
来电回复匿名类型设置,而不是您感兴趣的特定类型。
或者,如果您对Total
特别感兴趣,请更改:
IQueryable<ot_request> filterList
为:
var filterList
这将确保filterList
是您新匿名类型的IQueryable
(包括Total
)。