Ordernar consultas LINQ por data

29/12/2014

0

Bom dia,

Possuo um método onde eu retorno a lista de aniversariantes do mês. Gostaria de uma ajuda para listar por data.

Segue o código para que estou utilizando para a consulta.

 public ActionResult Aniversariantes()
        {

            var usuarios = usuarioRepository.Lista.Where(u => u.DtNascimento.Month == DateTime.Now.Month).ToList();
            return View(usuarios);
        }
Randrade

Randrade

Responder

Posts

29/12/2014

Joel Rodrigues

Qual é mesmo sua dúvida? Como ordenar?
Se for, basta usar o .OrderBy(u => u.DtNascimento) após o Where.
Responder

29/12/2014

Randrade

É essa dúvida mesmo Joel.
Tentei colocar, mas continua listando desordenado.


Segue como ficou o código, com o OrderBy:
 public ActionResult Aniversariantes()
        {

            var usuarios = usuarioRepository.Lista.Where(u => u.DtNascimento.Month == DateTime.Now.Month).OrderBy(u => u.DtNascimento).ToList();
            return View(usuarios);
        }



Porém continua listando desordenado.
Responder

29/12/2014

Soeuseijothaz

Tenta fazer separado para ver se roda:


 var usuarios = usuarioRepository.Lista.Where(u => u.DtNascimento.Month == DateTime.Now.Month);
 var usuariosOrdenado = usuarios.OrderBy(u => u.DtNascimento).ToList();          


O campo é DateTime?
Responder

29/12/2014

Randrade

Testei aqui do jeito que você informou, e também não foi.
Tentei ordenar por nome, e funcionou corretamente. Então da para ver que é algo relacionado com a data mesmo, agora o que, que é o Problema.
O campo é DateTime sim.


Possui mais alguma dica?
Responder

29/12/2014

Randrade

Más obrigado a todos pela ajuda!

Não tenho nem como agradecer pela ajuda de todos aqui...
Responder

29/12/2014

Joel Rodrigues

Opa, que bom que deu certo.
Obrigado pelo feedback.
Abraço e bons códigos.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar