Потребовалось динамически сгенерировать поисковый запрос к БД в рамках преокта .net Core + EF-Core.
Запрос нужен был вида
_context.SomeEntityDbSet.Where(e => e.Code.Contains(x1) || e.Code.Contains(x2) || … e.Code.Contains(xN));
где N — неизвестное количество параметров, до полусотни.
Начал писать свой код для формирования expression Tree, но не отпускало чувство, что я такой не один.
И таки да. Настолько не один, что есть спициальный nuGet-пакет от !!самих!!
Вот тут почитать про пакет — http://www.albahari.com/nutshell/linqkit.aspx
Пакет называется LinqKit.Core