Linq(加入)的问题

时间:2013-04-17 21:51:35

标签: asp.net-mvc-3 linq

我正在用linq编写查询(请按照下面的代码)。我正在寻找db.imovel的数据,并为每个人带来嵌入db.fotoimovel的图片。请记住,每个db.imovel数据可能有多张图片。

问题是当我运行时,它会返回所有带有相同db.imovel数据的图片。

如果从db.fotoimovel返回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();

0 个答案:

没有答案