У меня есть таблица курсов, которую мне нужно искать на основе ключевых слов, введенных в поле поиска. Вот пример запроса:
SELECT * FROM Courses WHERE
Title LIKE '%word%' OR Title LIKE '%excel%' OR
Contents LIKE '%word%' OR Contents LIKE '%excel%'
Как я могу преобразовать это в LINQ, где LINQ будет динамически генерировать инструкции WHERE на основе каждого ключевого слова.
Я попробовал пользователь PredicateBuilder, он отлично работает, пока поле VARCHAR. Для полей "ТЕКСТ" кавычки не генерируются, поэтому компилятор должен дать сообщение об ошибке. Вот SQL, созданный PredicateBuilder
SELECT [t0].[CoursesID], [t0].[Title], [t0].[Contents], [t0].[Active],
FROM [dbo].[Courses] AS [t0]
WHERE ([t0].[Title] LIKE '%word%') OR ([t0].[Contents] LIKE %word%) OR
([t0].Title] LIKE '%excel%') OR ([t0].[Contents] LIKE %excel%)
Обратите внимание, что нет отдельной цитаты для поля "Содержание", которое является текстовым полем в базе данных.
Есть ли простой способ построить инструкцию WHERE и прикрепить ее к запросу? Кто-нибудь знает, как я могу это сделать без PredicateBuilder?
Спасибо заранее.