Вы запрашиваете список книг, в заголовке которого содержится слово из предоставленного пользователем списка. Как бы вы сделали это в одном SQL заявлении? можно сделать, создав таблицу с произвольным числом UNION
с и присоединиться к исходной таблице или с произвольным числом LIKE
с, но поставщик SQL не был запрограммирован на это.
Если вы не ограничиваете себя Linq, есть другие способы выполнить sh без выполнения операций в памяти:
- Создайте временную таблицу со своим списком и присоединитесь к этому в вашем SQL
- Используйте хранимую процедуру и курсор
- Используйте произвольное количество предложений
LIKE
(например, заголовок LIKE "% @ word1%" ИЛИ заголовок LIKE " % @ word2% ")
Но нет способа создать какой-либо из них с помощью встроенного поставщика LINQ. Я хотел бы отметить, что ни один из них не кажется особенно производительным по номинальной стоимости. Единственный способ узнать, какой из них самый быстрый, - это попробовать их все и измерить результаты с различным количеством слов.