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 回答