Tengo algunos problemas con linq para las entidades en el marco de la entidad ado.net. Básicamente lo que hago es la siguiente:linq a las entidades generadas sql
var results = (from c in companies
where c.Name.StartsWith(letter)
select c);
y esto se traduce a SQL como algo parecido a:
WHERE (CAST(CHARINDEX(@p, [Extent1].[Name]) AS int)) = 1
que está muy bien, pero mi mesa cuenta con millones de registros por lo que este funciona muy lento. Lo que lo necesito para generar es algo así como:
WHERE Name LIKE @p + '%'
estoy buscado alta y baja y no puedo encontrar ninguna solución excepto para utilizar un procedimiento almacenado o el uso de Entity SQL ...
¿Hay alguna forma de hacerlo a través de linq? ¿Posiblemente al extender de algún modo el linq al proveedor de linq de entidades, o al interceptar de algún modo el árbol de comandos o la consulta generada?
Es este tipo de cosas que me hace muy relunctant de tirar mi capa de procedimiento almacenado en favor de todo lo que genera SQL. –