Без данных испытаний для определения ошибки требуется хрустальный шар.У вас может быть несколько проблем здесь:
- Поскольку
false < true
вы можете использовать .OrderByDescending(...)
вместо .OrderBy()
- Поскольку
Guid
равно struct
это не может быть null
(но его можно сравнить с null
для возврата true
) - Возможно, вы захотите надеть топовые предметы, которые имеют оба
Approver
и Approver2
, затем элементы с одиночным утверждающим, затем с none .
Code (при условии, что Approver
, а также Approver2
являютсятипа Guid
):
var list3 = _ItemForCheckService
.GetBy(x => x.Status != Status.Deleted)
.OrderByDescending(x => x.Approver != default(Guid) || x.Approver2 != default(Guid))
.ThenBy(x => x.ModifiedDate)
.ToList();
или, если мы хотим реализовать точку 3.
:
var list3 = _ItemForCheckService
.GetBy(x => x.Status != Status.Deleted)
.OrderBy(x => (x.Approver != default(Guid) ? 0 : 1) +
(x.Approver2 != default(Guid) ? 0 : 1))
.ThenBy(x => x.ModifiedDate)
.ToList();