Array
(
)

Linq não retorna dados. Existe dados na tabela e eu retorno pela query

Pjava
   - 02 out 2014

Procurei fazer uma LINQ bem semelhante a minha query. Essa é minha query.
#Código

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

Essa é minha LINQ
#Código
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);

}
Nesse exemplo:
Citação:
_tipo_rede = "R", _uf = "DF" e _cidade = "BRASILIA-DF"

Pjava
   - 02 out 2014

Resolvi.

Retirei o DistinctBy() do LINQ pricipal. Ainda não entendi a diferença entre o Distinct e o DistinctBy. Tenho procurado livros sobre LINQ e Lambda e não achei nada ainda, aui em Sampa(Nobel, Saraiva, Martins Fontes), nenhuma dessas livrarias eu encontrei algo do gênero.

Joel Rodrigues
   - 02 out 2014

Distinct() usa o operador de igualdade padrão do tipo. Já o DistinctBy() lhe permite informar uma propriedade do tipo pela qual você quer fazer a distinção.