Jeśli chcesz to znaleźć podciąg ciągu innym ciągiem, najlepszym sposobem na to jest metodą Contains
:
query = query.Where(s => s.ShowTypeDescription.Contains(showTypeDescription));
Ponieważ metoda String.Contains
przekłada się:
CHARINDEX(ShowTypeDescription, @showTypeDescription) > 0
Co jest mniej więcej równoważne:
ShowTypeDescription LIKE '%' + @showTypeDescription + '%'
Aktualizacja: w LINQ-SQL, można użyć metody SqlMethods.Like
:
query = query.Where(s => SqlMethods.Like(s.ShowTypeDescription, showTypeDescription));
to bezpośrednio przekłada się na SQL LIKE
operatora. Pamiętaj jednak, że to nie zadziała poza zapytaniami Linq-SQL. Próba wywołania tej metody w innych kontekstach spowoduje zgłoszenie wyjątku.
wyszukiwanie jest twoim przyjacielem - http://stackoverflow.com/questions/2493703/linq-to-entity-using-a-sql-like-operator?rq=1 – EkoostikMartin
, które nie pomaga mi. Wiem o "Zawiera", ale w jaki sposób mam to wdrożyć do kodu, który mam? –
Jeśli wiedziałeś o 'Contains()', nie zadajesz tego pytania ... – EkoostikMartin