LINQ LIKE % CORINGA

MAXCIM 28/04/2016 12:35:27
#461587
Olá amigos,

como faço uma consulta LINQ com like %
tenho os nome jose A. Oliveira, José Ap. Oliveira, Jose Aparecido Oliveira, Jose Oliveira

como eu posso buscar [Ô]Jose%oliveira[Ô] com o link , usando o Contains eu busco todos os joses ou todos os Oliveiras, mas como usar caracter coringa?

desde já agradeço
DS2T 28/04/2016 13:05:36
#461593
Você pode tentar algo desse tipo:


....where SqlMethods.Like(t.campo, [Ô]Jose%oliveira[Ô]) select *;
MAXCIM 28/04/2016 14:27:40
#461610
DS2T, como eu habilito o SQLmethods?
fiz os imports, mesmo assim aparece como não declarado

Imports System.Data.Linq.SqlClient
Imports System.Linq

Dim Consulta = nomes.Where(Function(c) SqlMethods.[Like](c.Nome, [Ô]jose%Oliveira[Ô]))
MAXCIM 28/04/2016 15:00:41
#461612
fiz a referencia a C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Data.Linq.dll

porem agora estou com erro, veja imagem
JABA 28/04/2016 15:27:13
#461615
Resposta escolhida
Essa exceção está dizendo que SqlMethods só é válido quando você está trazendo os dados diretamente do banco; ou seja, não funciona para dados que já estejam em memória. Para contornar isso, você poderia fazer da seguinte forma:

Dim consulta = nomes.Where(Function(x) (x.StartsWith([Ô]JOSE[Ô]) And (x.EndsWith([Ô]OLIVEIRA[Ô])))).ToList()

Tópico encerrado , respostas não são mais permitidas