我在下面有一个查询,我想订购t.day。我是linq的新手。我在下面的查询中将orderby t.day放在哪里?感谢。
var pracResult = (from t in queryResult
group t by new {t.RouteNbr, t.Day,t.NumberOfActionPlans,t.RouteNbrPlusDay}
into grp
select new
{
grp.Key.RouteNbr,
grp.Key.Day,
grp.Key.NumberOfActionPlans,
grp.Key.RouteNbrPlusDay,
}).ToList();
//orderby t.Day
答案 0 :(得分:1)
我不明白为什么你再次将你的群组转换为他们的密钥。如果您打算订购论坛,可以使用,
var pracResult = (from t in queryResult
group t by new {t.RouteNbr, t.Day,t.NumberOfActionPlans,t.RouteNbrPlusDay}
into grp
orderby grp.Key.Day
).ToList();
否则,如果您想要完全等同于您的代码,为什么不这样做,
var pracResult = queryResult.Select(i => new {i.RouteNbr, i.Day, i.NumberOfActionPlans, i.RouteNbrPlusDay})
.Distinct()
.OrderBy(k => k.Day)
.ToList();
答案 1 :(得分:0)
您可以添加
orderby krp.Key.Day
在小组条款之后。
答案 2 :(得分:0)
试试这个:
var pracResult = queryResult.GroupBy(t => new {t.RouteNbr, t.Day,t.NumberOfActionPlans,t.RouteNbrPlusDay})
.OrderBy(l => l.Key.Day)
.Select(grp =>new{ grp.Key.RouteNbr,
grp.Key.Day,
grp.Key.NumberOfActionPlans,
grp.Key.RouteNbrPlusDay}).ToList();