Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael Mitsunaka

[Resolvido] Consulta usando LINQ

Recommended Posts

Pessoal,

Eu estou apanhando aqui, pois nunca tinha utilizado linq e a pagina que estou fazendo eu tenho que fazer assim.

Eu to quebrando a cabeca aqui pra fazer uma consulta com condicoes

 

eu tenho que fazer entrar em um determinado join se tal textbox tiver preenchido, so que nao sei como.

 

se alguem puder dar uma luz eu agradeco!

Compartilhar este post


Link para o post
Compartilhar em outros sites

DataContext dc = new DataContext();

 

if (valor == "")

{

return (from c in dc.Clientes

select c).ToList();

}

else

{

return (from c in dc.Clientes

join d in dc.Dptos on c.dptoId equals d.Id

where c.nome == valor

select c).ToList();

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

desse jeito ficariam varias querys =/ e eu queria colocar em 1 só, pois existem diversas formas se preencher a consulta

não existe outro jeito?

 

var consultaProposta = from prop in dataContext.cap_propostas
									 join prd in dataContext.prd_produto_gerals
									 on prop.cod_prd equals prd.cod_prd
									 join cli in dataContext.cli_pessoas
									 on prop.cod_psa_sbs equals cli.cod_pess
									 join gen in dataContext.gen_dominios
									 on prop.cod_sts_pra equals gen.cod_sub_domin

( aqui eu queria coloar os varios join com os ifs )

where .......

Compartilhar este post


Link para o post
Compartilhar em outros sites

os joins variam de acordo com os campos preenchidos

 

isso que ta me matando, pois eu percebi que se tentar colocar um if ali no meio vai dar erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara eu so novo tanto em programacao qnto em c# mas derepente isso nao ajuda

 

 

if (TextBox1.Text.Length > 0)
		{
			var teste = (from c in db.Pessoas where c.codigoPessoa.Equals(codigopessoa) select c).Single();

		}

		else if (textboxY.Text.Lenght > 0)
		{
			var teste = outra consulta aqui..;
		}

n sei cara, se nao for isso malz, cmo falei sou novo hehe..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hehe! Vlw pessoal eu consegui fiz o seguinte

^var consultaProposta =
				from prop in dataContext.cap_propostas
				join prd in dataContext.prd_produto_gerals
				on prop.cod_prd equals prd.cod_prd
				join cli in dataContext.cli_pessoas
				on prop.cod_psa_sbs equals cli.cod_pess
				join gen in dataContext.gen_dominios
				on prop.cod_sts_pra equals gen.cod_sub_domin
				where gen.cod_domin == "COD_STS_PRA"
				select prop;

			if (this.hdnBenef.Value != string.Empty || txtDAT_FIM.Text != string.Empty ||
				txtDAT_INI.Text != string.Empty || this.hdnSTS_RES.Value != string.Empty)
			{
				consultaProposta =
					from i in consultaProposta
					join j in dataContext.cap_solicitacoes_resgates on i.cod_ctr equals j.cod_ctr
					from x in j.cap_beneficiarios_resgates
					where x.cod_ems == 0
					select i;
			}
é meio complicado esse lance de linq + aos poucos eu vou me adaptando!

vlw pelas dias, ajudaram bastante!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.