Как упорядочить по столбцу с нулевыми значениями, последними в структуре сущности
Кто-нибудь знает, как вернуть упорядоченный список строк с нулевыми значениями в последний раз? У меня есть что-то вроде этого:
using(var context = new DomainEntities())
{
var result = context.Users.OrderBy(u => u.LastName).ThenBy(u => u.FirstName);
}
Моя проблема заключается в том, что этот запрос возвращает нулевые значения перед ненулевыми значениями.
Любые мысли?
Ответы
Ответ 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);