[英]How to use linq orderby with a group by
I have a query below and I will like to orderby t.day.我在下面有一个查询,我想在 t.day 之前订购。 I am new to linq.
我是 linq 的新手。 Where do I put the orderby t.day in this query below?
在下面的这个查询中,我在哪里放置 orderby t.day? Thanks.
谢谢。
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
I did not understand why you again converted your groups to their keys.我不明白您为什么再次将您的群组转换为他们的密钥。 If you intend to order your groups you can use,
如果您打算订购您可以使用的群组,
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();
Else if you want exact equivalent of your code why not just doing this,否则,如果您想要完全等效的代码,为什么不这样做,
var pracResult = queryResult.Select(i => new {i.RouteNbr, i.Day, i.NumberOfActionPlans, i.RouteNbrPlusDay})
.Distinct()
.OrderBy(k => k.Day)
.ToList();
You can add你可以加
orderby krp.Key.Day
after the group clause.在 group 子句之后。
Try this:尝试这个:
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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.