我想通过升序不同的日期来订购选定的值。选择值tolist()时orderby不同日期
例如,我在数据库中有这些值。
ID | Value | Date
1 | 35 | 2012/01/20
2 | 0 | 2012/01/20
3 | 10 | 2012/02/01
4 | 0 | 2012/02/01
5 | 0 | 2012/03/01
6 | 0 | 2012/03/01
由于ID 1已于1月20日的值和ID 3对2月1日的值,我想这两个日期被选中我的不同的日期值的列表。但是对于ID 5和6都有值0.因此,如果值是0,我也希望值0被添加。
现在我linqquery看起来像这样
var totalHours = (from u in context.Users
join r in context.Reports on u.Id equals r.UserId
join w in context.Weeks on r.Id equals w.ReportId
join d in context.Days on w.DayId equals d.Id
orderby d.Date ascending
where r.weekNr.Equals(currentWeek)
select d.Hour).ToList();
但是,当然,这个查询给我35,0,10,0,0,0作为结果。 虽然我希望它给我35,10,0
我不想要挑出不同的值,比如说如果2月1日和2月2日有相同的值。我想要添加这两个值。
你想分组并按价值排列你的清单吗? – ARZ
@rickard - 所以如果有一个值不是0(id 1),然后另一个值是0(id 2),你只想要非零值?这是否可能发生,id 1 = 35,id 2 = 50?如果是这样,你想吗? –
@Joanna如果值相同的日期(在这种情况下为0),我也希望将值0添加到列表()。 – rickard