IQueryable OrderBy 等于

IQueryable OrderBy by Equal

有没有办法从特定值开始在 IQueryable 上应用 OrderBy

例如:我有这个关注实体

Name   | Age  | Type |
Marcos |  15  |  1   |
Andrew |  23  |  2   |
Phelip |  18  |  2   |
Jhonny |  14  |  3   |

我试过以下代码,但没有用:

var result =  Query.OrderBy(x => x.Type == 2);

有什么想法吗?

我假设您希望列表按 2,2,1,3 的顺序排列:首先列出所有 2 条记录,其余按正常顺序排列。

应该这样做:

var result =  Query.OrderBy(x => x.Type == 2 ? -1 : x.Type);

Type2 时,这会将用于排序的值更改为 -1。由于 -1 小于所有其他值,因此它们将显示在列表顶部。

如果您要记录 Type-1 的记录,则需要选择不同的值。它必须小于所有其他值。