Quando esamino la query sql che sputa il linq, ho notato che inserisce un ESCAPE N' ~ 'quando si esegue un comando LIKE. Come faccio a liberarmi di questo? Sembra che la query impieghi il doppio del tempo con ESCAPE in sql.LINQ inserisce 'ESCAPE N' ~ 'nella query
Ecco il LINQ
var SearchPhrase = "xyz";
var result = (from I in db.myTabl
where i.col1.contains(SearchPhrase)
select I).toList();
quando guardo lo sql attuale
sembra qualcosa di simile:
SELECT
[Extent1].Col1
FROM myTable As [Extent1]
WHERE [Extent1].Col1 LIKE @p__linq__3 ESCAPE N'~'
vuol aggiungere quando il tuo argomento di contiene è ' "xyz"'? Dovrebbe solo aggiungere che se il tuo input include caratteri jolly LIKE ('%, _, [,], ^') –
Prova a cambiare "xyz" in una variabile anziché in un valore letterale. Le prestazioni lente della query potrebbero non essere dovute a ESCAPE ma a causa della mancanza di un'adeguata ottimizzazione delle query correlata alla clausola where. –
xyz è una variabile che entra nel metodo. Ma lo metto come una var nel codice per un esempio. – Arcadian