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);
当 Type
为 2
时,这会将用于排序的值更改为 -1
。由于 -1
小于所有其他值,因此它们将显示在列表顶部。
如果您要记录 Type
为 -1
的记录,则需要选择不同的值。它必须小于所有其他值。
有没有办法从特定值开始在 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);
当 Type
为 2
时,这会将用于排序的值更改为 -1
。由于 -1
小于所有其他值,因此它们将显示在列表顶部。
如果您要记录 Type
为 -1
的记录,则需要选择不同的值。它必须小于所有其他值。