lambda expression gives conversion error

Asked

Viewed 341 times

-2

This is my lambda ring:

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

That is the mistake:

Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 'System.Linq.IOrderedEnumerable<AnonymousType#1>'

1 answer

2


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

Tries:

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***
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.