Это довольно сложно, если вы не собираетесь использовать:
- Динамическая компиляция кода, или
- Вы готовы создать (очень сложный) парсер для анализа запроса и вызова соответствующих методов расширения linq
У меня лично нет опыта в последнем. Что касается первого, это немного сложно и может пойти не так, как надо, если вы не выполняете надлежащее кэширование и проверки безопасности. Внедрение исполняемого кода очень опасно.
Я думаю, что вам лучше использовать разные методы для фильтрации контента, используя такие методы, как Where()
, если количество запросов можно предопределить, или вернуться к SQL, если нет. Обычно вам не нужно это делать, если пользователь не вводит запрос вручную.