none
Orderby no LINQ RRS feed

  • Pergunta

  • Pessoal eu tenho uma duvida. Eu tinha uma expressão Lambda (expressão 1)

    expressao 1
    --------------------------------------------------------------------------------
    return context.MAgendaSet.Where(

     

     a => (a.cdStatus.Equals("A") || a.cdStatus == null) 
    && a.dtInicio.Value.Month == pDate.Month
    ).OrderBy(e => e.dtInicio).Distinct().ToList<MAgenda>();
    --------------------------------------------------------------------------------

    Mas nessa expressão nao estava ordenando os dias.
    Então eu fiz a expressão 2

    Expressão 2
    --------------------------------------------------------------------------------
    List<MAgenda> lstAgenda = (from ag in context.MAgendaSet
    where ((ag.cdStatus.Equals("A") || ag.cdStatus == null)
    && ag.dtInicio.Value.Month == pDate.Month)
    select ag).Distinct().OrderBy(e=> e.dtInicio.Value.Day).ToList<MAgenda>();
    return lstAgenda;
    --------------------------------------------------------------------------------

    Qual é a diferença de eu fazer a expressao 1 e a expressão 2 as duas não deveriam trazer o mesmo resultado? porque so a expressão 2 esta ordenando corretamente?

     


    Tarcísio Corte tarcisiocorte@gmail.com
    terça-feira, 10 de agosto de 2010 14:25

Respostas

  • Tarcísio,

     

    O erro está na declaração do campo a ser ordenado... No segundo exemplo você está fazendo corretamento, utilizando o .Value.Day do atributo...

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me

    Se for útil, por favor marque ;)
    terça-feira, 10 de agosto de 2010 14:40