sql >> Base de Datos >  >> RDS >> Sqlserver

Linq to Entities (EF 4.1):¿Cómo hacer un SQL LIKE con un comodín en el medio ('% term% term%')?

Creo que podría usar SqlFunctions. PatIndex :

dt.Table.Where(p => SqlFunctions.PatIndex(term, p.fieldname) > 0);

SqlFunctions.PatIndex se comporta igual que SQL LIKE operador. Admite todos los caracteres comodín estándar, incluidos:

  • % Cualquier cadena de cero o más caracteres.
  • _ (guión bajo) Cualquier carácter individual.
  • [ ] Cualquier carácter individual dentro del rango especificado ([a-f]) o conjunto ([abcdef]).
  • [^] Cualquier carácter único que no esté dentro del rango especificado ([^a-f]) o conjunto ([^abcdef]).

SqlFunctions.PatIndex a menudo está disponible cuando SqlMethods.Like no está disponible (incluso dentro de los controladores MVC)