Сортировка не материализованных данных через LINQ с определенной логикой
Есть статусы в enum - 1, 2, 3, 4, 5. В БД есть записи, которые имеют эти статусы. Нужно выбрать все эти записи, но отсортировать определенным образом - сначала должны идти записи со статусом 2, далее со статусом 4, далее со статусом 3 и потом все остальные.
Ответы (1 шт):
Автор решения: Popee
→ Ссылка
Решение было найден:
.OrderBy(x => (int)x.Status == 5 ? 1
(int)x.Status == 4 ? 2
(int)x.Status == 1 ? 3
(int)x.Status == 2 ? 4
(int)x.Status == 3 ? 5 : 6);
Или:
.OrderBy(x => x.Status == MyEnum.StatusFive ? 1
x.Status == MyEnum.StatusFour ? 2
x.Status == MyEnum.StatusOne ? 3
x.Status == MyEnum.StatusTwo ? 4
x.Status == MyEnum.StatusThree ? 5 : 6);