Подтвердить что ты не робот

Как упорядочить по столбцу с нулевыми значениями, последними в структуре сущности

Кто-нибудь знает, как вернуть упорядоченный список строк с нулевыми значениями в последний раз? У меня есть что-то вроде этого:

using(var context = new DomainEntities())
{
    var result = context.Users.OrderBy(u => u.LastName).ThenBy(u => u.FirstName);
}

Моя проблема заключается в том, что этот запрос возвращает нулевые значения перед ненулевыми значениями.

Любые мысли?

4b9b3361

Ответ 1

Я бы сделал:

using(var context = new DomainEntities())
{
    var result = context.Users.OrderBy(u => u.LastName == null)
                              .ThenBy(u => u.LastName)
                              .ThenBy(u => u.FirstName == null)
                              .ThenBy(u => u.FirstName);
}

..., который должен производить разумный SQL.

Ответ 2

Я не знаю, есть ли там какой-то переключатель, который вы можете перевернуть. В противном случае, прямолинейный подход, вероятно, был бы чем-то вроде

    using (var context = new DomainEntities())
    {
        var FirstPart = context.Users.Where(u => u.LastName != null);
        var SecondPart = context.Users.Where(u => u.LastName == null);
        var Result = FirstPart.Union(SecondPart);
    }

Ответ 3

var result = context.Users.OrderBy(x => x.FirstName ?? x.LastName);