SQL 按字母顺序对结果进行排序 Entity Framework/C#

4
我希望能按照标签(字符串)对数据行进行排序。标签由一个或多个大写字母组成。
例如: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 表达式来完成。
1个回答

6

按照字符串的长度排序,然后再按照字符串本身进行排序:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接