Se invece si è interessati a trovare una stringa all'interno di un'altra stringa, il modo migliore per farlo è con il metodo Contains
:
query = query.Where(s => s.ShowTypeDescription.Contains(showTypeDescription));
Poiché il metodo String.Contains
si traduce in:
CHARINDEX(ShowTypeDescription, @showTypeDescription) > 0
Che è più o meno equivalente a:
ShowTypeDescription LIKE '%' + @showTypeDescription + '%'
Aggiornamento: in LINQ to SQL, è possibile utilizzare il metodo SqlMethods.Like
:
query = query.Where(s => SqlMethods.Like(s.ShowTypeDescription, showTypeDescription));
Questo sarà direttamente tradurre in SQL LIKE
dell'operatore. Nota, tuttavia, questo non funzionerà al di fuori delle query Linq-to-SQL. Cercare di chiamare questo metodo in altri contesti genererà un'eccezione.
fonte
2013-06-13 21:53:57
ricerca è il tuo amico - http://stackoverflow.com/questions/2493703/linq-to-entity-using-a-sql-like-operator?rq=1 – EkoostikMartin
che non mi aiuta. Conosco "Contiene" ma come potrei implementarlo nel codice che ho? –
Se sapessi di 'Contains()' non staresti facendo questa domanda ... – EkoostikMartin