Linq does not return data. There is data in the table and I return by query

Asked

Viewed 66 times

0

I tried to make a LINQ very similar to my query. This is my query.

select * from PDV
where tipo_PDV = 'R' and UF = 'DF' and Cidade = 'BRASILIA-DF'

This is my LINQ

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

            if(_tipo_rede != "E")
            {
                resultado_rede_descricao = resultado_rede_descricao.Where(t => t.Tipo_PDV == _tipo_rede).Distinct().ToList().OrderBy(o => o.Descricao);
            }

            if (_uf != "E")
            {
                resultado_rede_descricao = resultado_rede_descricao.Where(u => u.UF == _uf).Distinct().ToList().OrderBy(o => o.Descricao);
            }

            if (_cidade != "" && _cidade != "Todos")
            {
                resultado_rede_descricao = resultado_rede_descricao.Where(u => u.Cidade == _cidade).Distinct().ToList().OrderBy(o => o.Descricao);
            }

In this example: _tipo_rede = "R", _uf = "DF" and _cidade = "BRASILIA-DF"

1 answer

1

I solved it. I removed Distinctby() from the main LINQ. I still don’t understand the difference between Distinct and Distinctby. I have been looking for books about LINQ and Lambda and I haven’t found anything yet, aui em Sampa(Nobel, Saraiva, Martins Fontes), none of these bookstores I found something like.

Browser other questions tagged

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