lambda expression gives conversion error

-2

This is my linq with lambda:

public JsonResult CarregaDescricaoRede(string _tipo_rede, string _uf, string _cidade)
        {
            var resultado_rede_descricao = (from _pdv in db.PDV
                                            .Where(r => r.Tipo_PDV == _tipo_rede)
                                            select new { _pdv.Descricao, _pdv.UF, _pdv.Cidade }).ToList().Distinct().OrderBy(o => o.Descricao);

            if(_uf != "Todos")
            {
                resultado_rede_descricao = resultado_rede_descricao.Where(c => c.UF == _uf); ***==> Aqui dá o erro***
            }

            return Json(new { resultado_rede_descricao }, JsonRequestBehavior.AllowGet);
        }

This is the error:

Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 'System.Linq.IOrderedEnumerable<AnonymousType#1>'
    
asked by anonymous 30.09.2014 / 16:26

1 answer

2

I think your mistake is in doing OrderBy before the condition.

Try:

var resultado_rede_descricao = (from _pdv in db.PDV
                                .Where(r => r.Tipo_PDV == _tipo_rede)
                                select new { _pdv.Descricao, _pdv.UF, _pdv.Cidade }).ToList().Distinct();

if(_uf != "Todos")
{
    resultado_rede_descricao = resultado_rede_descricao.Where(c => c.UF == _uf).OrderBy(o => o.Descricao); ***==> Aqui dá o erro***
}
    
30.09.2014 / 16:28