Come ordinare per colonna con valori null ultimi nell'entità framework

entity-framework

Domanda

Qualcuno sa come restituire una lista ordinata di stringhe con valori nulli? Ho qualcosa di simile a questo:

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

Il mio problema è che questa query restituisce valori nulli prima di valori non nulli.

qualche idea?

Risposta accettata

Farei:

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);
}

... che dovrebbe produrre SQL ragionevole.


Risposta popolare

Non so se ci sia un interruttore da qualche parte che puoi lanciare. Altrimenti, l'approccio diretto sarebbe probabilmente qualcosa del tipo

    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);
    }


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché