0

私はlinqでクエリを書いています(以下のコードに従ってください)。私は db.imovel からデータを探しており、それぞれに対して db.fotoimovel にネストされた画像を持ってきます。各 db.imovel データに対して複数の画像がある場合があることに注意してください。

問題は、実行すると、同じ db.imovel データを持つすべての写真が返されることです。

db.fotoimovelから1つだけ(最初の写真かもしれません)でdb.imovelデータを返すとうまくいきます。

コード:

var retorno = (from c in db.fotoimovel
                    join p in db.imovel on c.idImovel equals p.idImovel
                    where p.MetragemImovel >= metragem1 && p.MetragemImovel <= metragem2 &&
                    p.StatusImovel == opcao && 
                    ((String.IsNullOrEmpty(bairro)) || p.BairroImovel == bairro) &&
                    ((imovel == null) || (p.TipoImovel == imovel)) &&
                    ((carros == null) || (p.QtdVagaGaragemImovel == carros)) &&
                    ((quartos == null) || (p.QtdQuartoImovel == quartos))
                    select new DadosImovel
                    {
                        Id = p.idImovel,
                        Titulo = p.TituloImovel,
                        Descricao = p.DescricaoImovel,
                        Foto = c.NomeFotoImovel,
                        TipoImovel = p.TipoImovel,
                        Endereco = p.EnderecoImovel,
                        Complemento = p.ComplementoImovel,
                        Bairro = p.BairroImovel,
                        Cidade = p.CidadeImovel,
                        Estado = p.EstadoImovel,
                        CEP = p.CEPImovel,
                        MetragemImovel = p.MetragemImovel,
                        QtdComodoImovel = p.QtdComodoImovel,
                        QtdQuartoImovel = p.QtdQuartoImovel,
                        QtdBanheiroImovel = p.QtdBanheiroImovel,
                        QtdVagaGaragemImovel = p.QtdVagaGaragemImovel,
                        QtdAndarImovel = p.QtdAndarImovel,
                        Status = p.StatusImovel,
                        Ativo = p.AtivoImovel
                    }).Distinct().ToList();
4

0 に答える 0