2012-04-16 110 views
0

我在我的大學項目的終點線,並且我在完成查詢時遇到困難。 工作查詢看起來是這樣的:LINQ:將OrderBy添加到查詢

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

我真的很感激,如果你能告訴我,如何按降序排列以便通過給定的「量」的結果。

謝謝!

+0

你真的需要在數量分配上的'ToString()'嗎?看起來應該是一個數字值。 – 2012-04-16 16:40:49

+0

你好蒂姆!是的,我需要它是字符串,因爲進一步的代碼使用,我沒有發佈。 – Stanislav 2012-04-16 16:41:54

回答

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); 
+0

哦,我的... @Tim Croydon其實是對的。我在課堂上做了一些改動,並刪除了「ToString()」,所有內容都像魅力一樣。非常感謝你們兩位! – Stanislav 2012-04-16 16:46:30

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

0

通過斯基和安德烈工作的答案,但你也可以寫爲

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

,如果你寧願讓這一切在一個語法。

+0

謝謝,我按照你的建議做了修改,現在完成了。感謝您的替代語法! – Stanislav 2012-04-16 16:57:41

+0

沒有問題。如果您發現任何一個有用的答案,請接受它 - 這就是StackOverflow的工作原理。你也可能想看看'家庭作業'標籤的定義;-) – 2012-04-16 17:04:37

+0

我其實在這裏花了很多時間。它只是我不喜歡成爲問問題的人,因爲我知道如何尋找我需要的東西。不幸的是我無法找到,所以我報名了。 ;-) – Stanislav 2012-04-16 17:08:46