none
Entity Framework join RRS feed

  • Pergunta

  • Galera preciso buscar no banco através do Entity Framework a campanha de um determinado participante, porem hoje o código está assim :

    IEnumerable<Participante> listParticipante =
                    GetSet().Where(participante => participante.CPF == Cpf || Cpf == null || Cpf == "")
                    .Where(participante => participante.ParticipanteStatus.Where(x => (x.StatusId == IdStatus && x.Ativo) || IdStatus == 0).FirstOrDefault() != null)
                    .Where(participante => IdCargo == 0 || (participante.ParticipantePerfil.FirstOrDefault(x => x.Ativo).PerfilId == IdCargo))
                    .Where(participante => participante.OrigemEstrutura.Where(x => x.Ativo && (IdEstrutura == 0 || x.Estrutura.Id == IdEstrutura)).FirstOrDefault() != null)
                    
                    ;

    Como posso fazer com que esse select seja incluido na instrução acima ?

    Segue :

    select *  from dbo.TB_ParticipantePerfil as p
    join TB_CampanhaPerfil as c on
    p.PerfilId = c.PerfilId
    where CampanhaId = 1

    Obrigado


    SirSmart

    sexta-feira, 6 de junho de 2014 13:19

Respostas

  • Olá,

     talvez isso lhe ajude :

    var sql = db.TB_PARTICIPANTEPERFIL.Join(
                           db.TB_CAMPANHAPERFIL,
                                 t1 => t1.PerfilId,
                                 t2 => t2.PerfilId,
                                 (t1,t2) => new { t1,t2 })
                           .Where(w => w.t1.CPF == Cpf ||
                            //construa seus where
                           .Select(s => new Participante
                                    {
                                     //campos por ex
                                     IdPerfil = s.t1.IdPerfil,
                                     CPF = s.t2.CPF
                                    })
                           .ToList();
                             
                             
      

    • Marcado como Resposta SirSmart sexta-feira, 6 de junho de 2014 14:25
    sexta-feira, 6 de junho de 2014 13:35