1

選択している列に基づいてクエリ結果を並べ替えようとしています。しかし、何らかの理由で結果がソートされていません。結果は、データベースに入力された順序で表示されます。行ごとの順序を削除しても、結果は変わりません。「where」句は適切に機能しているようです。

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

答え :

Distinct は順序を台無しにするため、distinct の後に順序を付ける必要があります。

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

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

1 に答える 1

0

あなたはそれを単純化することができます:

var result = (from f in db.firmware 
                  where f.firmware_branch_text != "" 
                  select  f.firmware_branch_text                           
                 ).Distinct().OrderBy(a=>a); 
于 2012-08-29T17:22:41.887 に答える