Usuário com melhor resposta
Simplificar consulta

Pergunta
-
Bom dia...
Tem como eu declarar uma variável que receba qualquer coluna de uma query??
Exemplo
Select Case col Case Is = "Id" : query = From c In context.Produtores Order By c.Id Ascending Select c Case Is = "NomeProdutor" : query = From c In context.Produtores Order By c.NomeProdutor Ascending Select c Case Is = "Telefone" : query = From c In context.Produtores Order By c.Telefone Ascending Select c Case Is = "Celular" : query = From c In context.Produtores Order By c.Celular Ascending Select c End Select
isso é o que eu faço hoje, pra cada coluna que o usuário clica ele ordena de acordo com a coluna.
Eu queria simplificar isso tipo:
Select Case col Case Is = "Id" : campo = c.id Case Is = "NomeProdutor" : campo = c.NomeProdutor Case Is = "Telefone" : campo = c.Telefone Case Is = "Celular" : campo = c.Celular End Select query = From c In context.Produtores Order By campo Ascending Select c
Assim eu não precisaria criar uma consulta para cada campo..
Obrigado pessoal..
Respostas
-
Amigo, tem horas que a utilização do LINQ complica algumas consultas.
tente utilizar o Entity SQL, outra modalidade de consulta permitida para a Entity Framework, por exemplo
string ordenador = "it.Id"; ObjectQuery<Produtores> Produtores = new ObjectQuery<Produtores>("produtores", context); List<Produtores> produtoresOrdenados = Produtores.OrderBy(ordenador).ToList(); //Outros ordenadores: string ordenador = "it.NomeProdutor"; string ordenador = "it.Telefone"; string ordenador = "it.Celular";
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta EvangelistaLion terça-feira, 22 de março de 2011 13:41
Todas as Respostas
-
Amigo, tem horas que a utilização do LINQ complica algumas consultas.
tente utilizar o Entity SQL, outra modalidade de consulta permitida para a Entity Framework, por exemplo
string ordenador = "it.Id"; ObjectQuery<Produtores> Produtores = new ObjectQuery<Produtores>("produtores", context); List<Produtores> produtoresOrdenados = Produtores.OrderBy(ordenador).ToList(); //Outros ordenadores: string ordenador = "it.NomeProdutor"; string ordenador = "it.Telefone"; string ordenador = "it.Celular";
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta EvangelistaLion terça-feira, 22 de março de 2011 13:41
-
-
O It serve principalmente para indicar que está coluna está dentro do escopo/contexto atual de consulta. se você tirar ele dai ou modificar irá ocorrer um erro em tempo de execução
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :)