SQL订单结果在某种程度上按字母顺序排列Entity Framework / C#

时间:2014-02-28 19:59:05

标签: c# sql lambda entity-framework-5

我想按标签(字符串)对数据行进行排序。标签是一个或多个大写字母。

例如:A - > Z后跟AA,AB,AC ....... ZZ

我希望显示的顺序是A,B,C ...... X,Y,Z,AA,AB,AC ....... BA,BB,BC ...... ZX ,ZY,ZZ

在这种情况下,行的ID不保证按正确的顺序排列,因此我使用行标识。

这可能吗?如果可能的话,我希望能够在C#/ Entity Framework中使用lambda Expression。

1 个答案:

答案 0 :(得分:4)

只需按字符串本身的长度然后排序:

var query = data.OrderBy(item => item.Field.Length)
    .ThenBy(item => item.Field);