0

私は大学のプロジェクトのフィニッシュラインにいます、そして私はちょっと質問を終えるのに行き詰まっています。動作するクエリは次のようになります。

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()
                            };

与えられた「数量」の降順で結果を並べ替える方法を教えていただければ幸いです。

ありがとう!

4

3 に答える 3

3
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);
于 2012-04-16T16:30:04.943 に答える
0

これをしてください:

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 Orderby Descending Queryに敬意を表します)

于 2012-04-16T16:33:41.857 に答える
0

Skippy と Andrei の回答は機能しますが、次のように書くこともできます。

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
             };

すべてを 1 つの構文にまとめたい場合。

于 2012-04-16T16:50:34.607 に答える