2012-08-28 55 views
1

我想根據我選擇的列對查詢結果進行排序。 但由於某種原因結果未排序。結果以與輸入到數據庫相同的順序顯示。當我按行刪除訂單時,結果不會改變。 「where」子句似乎正常工作。ADO.NET LINQ到MYSQL,orderby不工作

var result = (from f in db.firmware 
         where f.firmware_branch_text != "" 
         orderby f.firmware_branch_text!=null, 
          f.firmware_branch_text 

        select f.firmware_branch_text       
        ).Distinct(); 

的出來說就是在這個順序:

2.2.2 
2.2.3 
2.4.1 
2.4.0 
3.0.0 
2.6.12 
2.6.13 
2.6.14 
2.6.15 
2.0.2 

答:

鮮明廢墟的順序,所以我們需要在不同的後下令:

var result = (from f in db.firmware 
         where f.firmware_branch_text != ""       

        select f.firmware_branch_text       
        ).Distinct().OrderBy(a=>a); 
+0

回答自己的問題完全沒問題,但請在您點擊「回答您的問題」時出現的框中填寫您的答案。這將使其他人更容易從您的答案中受益。一旦你這樣做了,那些被你的答案幫助的人就可以高聲讚揚它,這會讓你獲得積分。您也可以通過點擊答案旁邊的複選標記將答案標記爲正確。但是,您必須等待幾天才能標記自己的答案。 – devuxer

回答

0

你可以簡化它:

var result = (from f in db.firmware 
        where f.firmware_branch_text != "" 
        select f.firmware_branch_text       
       ).Distinct().OrderBy(a=>a); 
+0

是的,謝謝,我忘了在清晰之前刪除orderby – Athena