Tengo una consulta que tiene este aspecto:Cómo utilizar comodines SQL en LINQ a Entity Framework
IQueryable<Profile> profiles = from p in connection.Profiles
where profile.Email.Contains(txtSearch)
select p;
Yo sé que cuando esto se convierte a SQL que utiliza una LIKE '%<value of txtSearch>%'
pero si txtSearch = "jon%gmail.com"
se convierte en ` LIKE '% jon ~% gmail.com%'. El ~ escapa del% en el medio que es un comodín. ¿Cómo puedo evitar eso? Necesito poder poner comodines en mis búsquedas de LINQ to EF.
La página que estoy creando es una página de administración así que no estoy preocupado por un ataque de inyección SQL, pero ¿el método anterior no me abriría a un ataque de inyección SQL? –
Creo que sí, pero en realidad no lo intenté (ver mi comentario debajo del fragmento de código). Pero también puede usar la versión con parámetros: la agregaré como segundo ejemplo. –