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"