Jump to content
Marceloj

[Resolvido] Erro consulta linq no join

Recommended Posts

Bom dia.

Estou com dúvida como resolver a consulta linq abaixo,  preciso listar os empreendimentos e tenho 3 tabelas uma é processo que possui sua chave primaria ProcessoId, outra é a tabela movimento que possui sua chave primária MovimentoID e tenho uma tabela de associação entre as duas que possui as chaves estrangeiras processoID  e movimentoID. A classe movimento possui uma coleção de processos e quando tento fazer o join usando a coleção ele não permite, segue o consulta.

 

var consulta = (from e in jucemgcContext.Empreendimento
                            join mv in jucemgcContext.Movimento on e.EmpreendimentoId equals mv.idEmpreendimento
                            join p in jucemgcContext.Processo on mv.Processo.Where(t => t.ProcessoId.equals(p.ProcessoId)
                            join m in jucemgcContext.Mensagem on p.ProcessoId equals m.ProcessoId
                            where p.idTipoProcesso == 6 && m.ProcessoId == p.ProcessoId && mv.idEmpreendimento == e.EmpreendimentoId
                            select e);

 

join p in jucemgcContext.Processo on mv.Processo.Where(t => t.ProcessoId.equals(p.ProcessoId) --- Nesta parte do código ele não aceita informar o equals, dá uma mensagem - Invalid expression term 'equals'  )expected.

 

Desde já agradeço.

 

 

Share this post


Link to post
Share on other sites

O erro diz que falta um )

Então coloca ele..

 

join p in jucemgcContext.Processo on mv.Processo.Where(t => t.ProcessoId.equals(p.ProcessoId))

 

Share this post


Link to post
Share on other sites
5 minutos atrás, itlpps disse:

O erro diz que falta um )

Então coloca ele..

 


join p in jucemgcContext.Processo on mv.Processo.Where(t => t.ProcessoId.equals(p.ProcessoId))

 

Já tentei fazer isso mas não resolve,  a mensagem continua a mesma.

Edited by Marceloj
Erro na resposta enviada

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Hamilcar
      Bom dia!
      Peguei um sistema para atualizar para funcionar, o problema é que foi criado uma ligação de tabelas meio louca aqui, vou tentar explicar, tem uma tabela usuários que tem um id, e tem uma outra tabela em que a usuários é ligada e nela pode ter um ou mais usuários, o problema é que foi colocado os ids na mesma linha separados por um caracter, e os usuários se repetem, vou colocar abaixo para exemplificar:
      Tabela Usuarios/id 
                   id1, id2, id3...
       
      Tabela Escala
                  id_escala1_idUser -> id1|id2|id3...
                  id_escala2_idUser -> id1|id2|id3...
       
      Como vou gastar um tempo para refazer novamente o banco de dados, queria fazer funcionar momentaneamente, e gostaria da ajuda para tentar se possível fazer uma consulta que me traga todos os usuarios listados na tabela escala
    • By mamotinho
      Olá, pessoal mais uma vez venho pedi a ajuda de vocês estou com um problema ao roda uma query que montei, eu sou iniciante na area e não tenho muito conhecimento então o codigo que fiz foi parte de meu conhecimento básico. bom o que eu quero resolver nessa query é o seguinte, eu quero consultar uma tabela e nela pega todos os registros com a a data vencida e lista ela dentro do while em seguida retornar dentro desse if o valor da coluna de cada uma exemplo de como fiz e ficou com loop infinito.

       
      declare @id int declare @getdate datetime select @id = IDCadastrado, @getdate = RegDate from BancoTeste.dbo.MinhaTabela where RegDate < getdate() while @id is not null begin select * from BancoTeste.dbo.MinhaTabela where IDCadastrado = @id end quando eu executo isso ai ele executa infinitamente o valor do primeiro registro repetidamente.
    • By Rodymb
      Bom dia!
      Estou fazendo um select em uma tabela de cupom fiscal e preciso que me mostre o operador do caixa e o supervisor que liberou a venda, que no caso é convênio.
      A consulta que montei é a seguinte:
       
      select  c.m00ad as CUPOM,
              c.m00ac as PDV,
              c.m02ak as VALOR,
              p.descricao as FINALIZADORA,
              c.m02ah as OPERADOR,
              f.nome as NOME_OP,
              c.m02ao as SUPERVISOR,
              f.nome as NOME_SUP
      from zan_m02 c inner join tab_funcionario f
      on c.m02ao = f.cod_funcionario
      inner join tab_finalizadora p
      on c.m02ai = p.cod_finalizadora
      where c.m00af = to_date('09/03/20','dd/mm/yy')
      and c.m00za = 3
      and c.m00ac = 9
      and c.m00ad = 379678
      group by c.m00ad,c.m00ac,c.m02ak,p.descricao,c.m02ah,f.nome,c.m02ao;
       
      A consulta me retorna o seguinte resultado:

       
      Como podem ver, repetiu o mesmo nome (operador e supervisor), sendo que o código é diferente.
       
      Isso acontece por que na tabela de funcionário o campo NOME serve para operador e supervisor e o que diferencia se é supervisor ou operador temos mais duas outras tabelas. A estrutura é assim:
       
      tab_funcionario -> temos o campo cod_funcionario e nome (todos os funcionários cadastrados são armazenados nessa tabela)
      tab_perfil -> temos os campos cod_perfil e descricao (todos os perfis cadastrados são armazenados nessa tabela)
      tab_perfil_funcionario -> temos os campos cod_funcionario e cod_perfil (tabela que relaciona as tabelas tab_funcionario e tab_perfil)
       
      A única coisa que preciso é que apareça no NOME_OP o nome do operador e não o nome do supervisor igual está aparecendo.
       
    • By agness
      a imagem é uma parte de uma tabela extensa.
      como eu faço uma consulta por exemplo para jogador igual à 1, 3, 5 e liga igual à 1?
      isso é para uma verificação se existe uma liga com exatamente os jogadores 1, 3 e 5, nem mais nem menos
      espero ter sido claro
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.