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ódigoselect * from PDV
where tipo_PDV = 'R' and UF = 'DF' and Cidade = 'BRASILIA-DF'

Essa é minha LINQ
#Códigovar 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.