none
Inner Join Linq RRS feed

  • Pergunta

  • Galera boa noite,

    Tenho esse método em uma classe qualquer.

         private void testeMetodo()
            {
                using (cadastroEntities = new Object.SQLServerConnection())
                {
                    Int64 teste = Convert.ToInt64(hdColaborador_ID.Value);
    
                    var query = from r in cadastroEntities.tblCorColaborador_Cargo
                                join p in cadastroEntities.tblCorCargo on r.Cargo_Codigo equals p.Cargo_Codigo
                                join q in cadastroEntities.tblCorDepartamento on p.Departamento_Codigo_ID equals q.Departamento_Codigo
                                where r.Colaborador_ID == teste
                                select new
                                {
                                    r.Cargo_Codigo,
                                    r.Colaborador_Cargo_DataHoraCadastro,
                                    
                                    p.Cargo_Descricao,
                                    q.Departamento_Descricao
                                };
                    grvHistoricoDepartamentoCargo.DataSource = query;
                    grvHistoricoDepartamentoCargo.DataBind();
    
                }
            
            }

    Agora estou tentando colocar ele na minha classe Dal.

    Como eu poderia fazer esse retorno, estou fazendo um inner join com 3 tabelas.

      public List<Object.tblCorColaborador_Cargo> testefelipe(Int64 Colaborador_ID)
            {
    
                using (cadastroEntities = new Object.SQLServerConnection())
                {
                    var query = from r in cadastroEntities.tblCorColaborador_Cargo
                                join p in cadastroEntities.tblCorCargo on r.Cargo_Codigo equals p.Cargo_Codigo
                                join q in cadastroEntities.tblCorDepartamento on p.Departamento_Codigo_ID equals q.Departamento_Codigo
                                where r.Colaborador_ID == Colaborador_ID
                                select new
                                {
                                    r.Cargo_Codigo,
                                    r.Colaborador_Cargo_DataHoraCadastro,
    
                                    p.Cargo_Descricao,
                                    q.Departamento_Descricao
                                };
    
                    return query.ToList();
    
                }
            }
    Obrigado!


     
    segunda-feira, 14 de outubro de 2013 01:10

Respostas

  • Olá Felipe,

    Você pode colocar o retorno como um object ou até um IList:

    public object testefelipe(Int64 Colaborador_ID)
            {
    
                using (cadastroEntities = new Object.SQLServerConnection())
                {
                    var query = from r in cadastroEntities.tblCorColaborador_Cargo
                                join p in cadastroEntities.tblCorCargo on r.Cargo_Codigo equals p.Cargo_Codigo
                                join q in cadastroEntities.tblCorDepartamento on p.Departamento_Codigo_ID equals q.Departamento_Codigo
                                where r.Colaborador_ID == Colaborador_ID
                                select new
                                {
                                    r.Cargo_Codigo,
                                    r.Colaborador_Cargo_DataHoraCadastro,
    
                                    p.Cargo_Descricao,
                                    q.Departamento_Descricao
                                };
    
                    return query.ToList();
    
                }
            }

    Ou com Ilist

    public IList testefelipe(Int64 Colaborador_ID)
            {
    
                using (cadastroEntities = new Object.SQLServerConnection())
                {
                    var query = from r in cadastroEntities.tblCorColaborador_Cargo
                                join p in cadastroEntities.tblCorCargo on r.Cargo_Codigo equals p.Cargo_Codigo
                                join q in cadastroEntities.tblCorDepartamento on p.Departamento_Codigo_ID equals q.Departamento_Codigo
                                where r.Colaborador_ID == Colaborador_ID
                                select new
                                {
                                    r.Cargo_Codigo,
                                    r.Colaborador_Cargo_DataHoraCadastro,
    
                                    p.Cargo_Descricao,
                                    q.Departamento_Descricao
                                };
    
                    return query.ToList();
    
                }
            }


    Vitor Mendes | http://www.vitormendes.com.br/

    "Ajuda teu semelhante a levantar a sua carga, porém, não a carregá-la." (Pitágoras)

    • Marcado como Resposta Felipe Torralvo sexta-feira, 20 de dezembro de 2013 16:53
    segunda-feira, 14 de outubro de 2013 01:30

Todas as Respostas

  • Olá Felipe,

    Você pode colocar o retorno como um object ou até um IList:

    public object testefelipe(Int64 Colaborador_ID)
            {
    
                using (cadastroEntities = new Object.SQLServerConnection())
                {
                    var query = from r in cadastroEntities.tblCorColaborador_Cargo
                                join p in cadastroEntities.tblCorCargo on r.Cargo_Codigo equals p.Cargo_Codigo
                                join q in cadastroEntities.tblCorDepartamento on p.Departamento_Codigo_ID equals q.Departamento_Codigo
                                where r.Colaborador_ID == Colaborador_ID
                                select new
                                {
                                    r.Cargo_Codigo,
                                    r.Colaborador_Cargo_DataHoraCadastro,
    
                                    p.Cargo_Descricao,
                                    q.Departamento_Descricao
                                };
    
                    return query.ToList();
    
                }
            }

    Ou com Ilist

    public IList testefelipe(Int64 Colaborador_ID)
            {
    
                using (cadastroEntities = new Object.SQLServerConnection())
                {
                    var query = from r in cadastroEntities.tblCorColaborador_Cargo
                                join p in cadastroEntities.tblCorCargo on r.Cargo_Codigo equals p.Cargo_Codigo
                                join q in cadastroEntities.tblCorDepartamento on p.Departamento_Codigo_ID equals q.Departamento_Codigo
                                where r.Colaborador_ID == Colaborador_ID
                                select new
                                {
                                    r.Cargo_Codigo,
                                    r.Colaborador_Cargo_DataHoraCadastro,
    
                                    p.Cargo_Descricao,
                                    q.Departamento_Descricao
                                };
    
                    return query.ToList();
    
                }
            }


    Vitor Mendes | http://www.vitormendes.com.br/

    "Ajuda teu semelhante a levantar a sua carga, porém, não a carregá-la." (Pitágoras)

    • Marcado como Resposta Felipe Torralvo sexta-feira, 20 de dezembro de 2013 16:53
    segunda-feira, 14 de outubro de 2013 01:30
  • Obrigado!
    segunda-feira, 14 de outubro de 2013 03:21