LINQ:将 OrderBy 添加到查询中
本文关键字:查询 添加 OrderBy LINQ | 更新日期: 2023-09-27 18:31:22
我正处于大学项目的终点线,我有点无法完成查询。工作查询如下所示:
var Report = from query in Document.Descendants("order")
group query by query.Element("seller").Value
into qGroup
select new Orders
{
Seller = qGroup.Key,
Quantity = qGroup.Sum(p => int.Parse(p.Element("quantity").Value)).ToString()
};
如果您能告诉我如何按给定的"数量"降序对结果进行排序,我将不胜感激。
谢谢!
var Report = (from query in Document.Descendants("order")
group query by query.Element("seller").Value into qGroup
select new Orders
{
Seller = qGroup.Key,
Quantity = qGroup.Sum(p => int.Parse(p.Element("quantity").Value)).ToString()
})
.OrderByDescending(order => order.Quantity);
请这样做:
var Report = (from query in Document.Descendants("order")
group query by query.Element("seller").Value
into qGroup
select new Orders
{
Seller = qGroup.Key,
Quantity = qGroup.Sum(p => int.Parse(p.Element("quantity").Value)).ToString()
}).OrderByDescending(x => x.Quantity);
HTH !!!
(对 LINQ 排序按降序查询表示赞赏)
斯基皮和安德烈的答案是有效的,但你也可以写成
var Report = from query in Document.Descendants("order")
group query by query.Element("seller").Value
into qGroup
let qty = qGroup.Sum(p =>int.Parse(p.Element("quantity").Value)).ToString()
orderby qty descending
select new Orders
{
Seller = qGroup.Key,
Quantity = qty
};
如果您希望将其全部保留在一个语法中。