Array
(
)

Ordernar consultas LINQ por data

Randrade
   - 29 dez 2014

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.
#Código

 public ActionResult Aniversariantes()
        {

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

Joel Rodrigues
   - 29 dez 2014

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

0
|
0

Randrade
   - 29 dez 2014

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

Segue como ficou o código, com o OrderBy:
#Código

 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.

0
|
0

Jothaz
   - 29 dez 2014

Tenta fazer separado para ver se roda:

#Código

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


O campo é DateTime?

0
|
0

Randrade
   - 29 dez 2014

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?

0
|
0

Randrade
   - 29 dez 2014

Consegui aqui.

É que a cabeça fica tão cheia, que esquecemos até de pensar o básico!

Apenas ordei por data.Day, assim ele filtrou por dia.

Segue o código, caso alguém também passe por algo parecido.

#Código

 public ActionResult Aniversariantes()
        {

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

0
|
0

Randrade
   - 29 dez 2014

Más obrigado a todos pela ajuda!

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

0
|
0

Joel Rodrigues
   - 29 dez 2014

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

0
|
0