Usuário com melhor resposta
Usar clausula where no Entity framework

Pergunta
-
Preciso fazer um filtro na consulta utilizando o "like", estou iniciando no entity framework, alguem sabe como faço
Até agora consigo preencher sem o filtro, com o codigo abaixo
Obrigadoprivate void PreencheGrdClientes() { mdbdEntities ctx = new mdbdEntities(); tb_cliente tbCliente = new tb_cliente(); var result = ctx.clienteSet.ToList(); grdClientes.DataSource = result; }
- Movido AndreAlvesLimaModerator quarta-feira, 17 de agosto de 2011 19:51 (De:C#)
Respostas
-
Se você colocar:
where entity.Name.Contains("xyz")
No SQL ele vai virar:
WHERE Name LIKE '%xyz%'
Referencia:
http://stackoverflow.com/questions/1033007/like-operator-in-entity-framework
Vitor Mendes | Seu feedback é muito importante para todos!- Sugerido como Resposta Marcelo F. Andrade Junior quarta-feira, 17 de agosto de 2011 19:05
- Marcado como Resposta Marcos D Mendes segunda-feira, 9 de janeiro de 2012 13:58
Todas as Respostas
-
Se você colocar:
where entity.Name.Contains("xyz")
No SQL ele vai virar:
WHERE Name LIKE '%xyz%'
Referencia:
http://stackoverflow.com/questions/1033007/like-operator-in-entity-framework
Vitor Mendes | Seu feedback é muito importante para todos!- Sugerido como Resposta Marcelo F. Andrade Junior quarta-feira, 17 de agosto de 2011 19:05
- Marcado como Resposta Marcos D Mendes segunda-feira, 9 de janeiro de 2012 13:58
-
Prezado(a),Estou migrando seu post para o fórum de Acesso a Dados.Por favor, das próximas vezes que tiver alguma dúvida relacionada a esse assunto, poste por lá.Obrigado.
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Editado AndreAlvesLimaModerator quarta-feira, 17 de agosto de 2011 19:50 correcao
-
Olá Marcos,
Precisei da fazer a mesma coisa que você e resolvi da seguinte forma:
private void PreencheGrdClientes()
{
mdbdEnttities ctx = new mdbdEntities();
tb_cliente tbCliente = new tb_cliente();
grdCliente.DataSource = from c in ctx.tb_cliente where c.campoDesejado.Contains(valorDesejado)
select new {c.mostrarCampo1, c.mostrarCampo2, c.mostrarCampo3 .... };
}
OBS.: Utilizando o Linq to Entities acima, você pode utilizar vários from caso precise "vincular" tabelas diferentes mas, você deverá fazer as devidas associações entre as tabelas na cláusula where e assim poderá retornar os valores de ambas as tabelas no select... veja o exemplo abaixo:
dgvCep.DataSource = (from c in db.TbCEPs
from b in db.TbBairros
from l in db.TbLocalidades
from u in db.TbUFs
where c.Idbairro_Cep == b.IdBairro &
c.IdLocalidade_Cep == l.IdLocalidade &
c.IdUF_Cep == u.idUF &
c.Logradouro_Cep.Contains(logradouro_CepTextBox.Text)
select new
{
CEP = c.CEP,
Endereço = c.Logradouro_Cep,
Bairro = b.Bairro_Bai,
Cidade = l.Localidade_Loc,
UF = u.Sigla_Uf
}).ToList();
Wenderson Sampaio -
Boa tarde Marcos, caso a alguma resposta acima tenha lhe ajudado, marque como reposta para finalizar o thread.
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/