CONSULTA SQLSERVER LAMBDA

 Tópico anterior Próximo tópico Novo tópico

CONSULTA SQLSERVER LAMBDA

C#

 Compartilhe  Compartilhe  Compartilhe
#481651 - 15/05/2018 14:20:18

DEVMAICON
PORTO ALEGRE
Cadast. em:Março/2018


Olá boa tarde galera!
Utilizo C# - Sql Server

Quero buscar todos os clientes apenas dos grupos informados pelo usuário.
Pode ser nenhum, um ou vários. Estou fazendo algo assim:

var clientes = _context.Cliente.AsQueryable();
foreach (var grupo in grupos) {
    clientes = clientes.Where(x=>x.GrupoId = grupo)
}

porem, esse código gera no SQL com o operador AND (grupoid = grupo AND grupoid = grupo) o que acaba funcionando apenas quando seleciona um grupo
Existe algum WhereOR ou semelhante pois pesquisei mas não encontrei.

obrigado

É hora de "reprogramar"!


#481652 - 15/05/2018 14:48:38

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Estou supondo que "grupos" contenha uma List<int> de id's.

clientes = _context.Cliente.Where(w => listquestionold.Contains(grupos)).ToList();


Entenda o conceito: Por ser uma lista de id's não significa que você tenha que "concatenar" todos numa query, um à um. Você pode simplesmente passar essa lista para a Query e o parser do EF se encarrega de montar a query levando em conta o que você quer fazer.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#481653 - 15/05/2018 14:54:46

DEVMAICON
PORTO ALEGRE
Cadast. em:Março/2018


Última edição em 15/05/2018 14:57:36 por DEVMAICON

sim, é uma List<int> contendo os Id's
juro que tentei utilizar Contains antes... mas consigo utilizar Contains apenas em Strings não em inteiros

tentei novamente assim: mas sem sucesso:

clientes = _context.Cliente.Where(x=> x.grupoId.Contains(grupos)).ToList();



É hora de "reprogramar"!


Resposta escolhida #481654 - 15/05/2018 15:00:59

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Acho que "troquei as bolas", tenta assim:

clientes = _context.Cliente.Where(x=> grupos.Contains(x.grupoId)).ToList();


_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#481655 - 15/05/2018 15:08:25

DEVMAICON
PORTO ALEGRE
Cadast. em:Março/2018


Citação:
:
Acho que "troquei as bolas", tenta assim:

clientes = _context.Cliente.Where(x=> grupos.Contains(x.grupoId)).ToList();

show funcionou perfeitamente.. valew mesmo!

É hora de "reprogramar"!


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por DEVMAICON em 15/05/2018 15:15:15