Я пытаюсь выбрать все поля из БД, которая содержит любую строку, содержащуюся в списке (которая может быть заполнена пользователем).Для меня это очень просто сделать с помощью чистого SQL с таким предложением, как
WHERE myfield LIKE '%nam%' OR myfield LIKE '%cod%' OR myfield LIKE '%big%'
, но мне нужно сделать это с C # и Linq.Я искал несколько решений, некоторые из которых рекомендуют мне использовать .Any или .Contains, но я не понял, как применить к моему делу: - (
) Это самый близкий результат, которого я могу достичь:
var query = DataSource.Docs();
...
IList<string> nameFilter = new List<string>() {"nam", "cod", "big"};
query = query.Where(x => x.NomeFile.Contains(nameFilter.FirstOrDefault()));
в любом случае, используя этот глупый код, я фильтрую только те элементы, которые содержат первый элемент моего списка (FirstOrDefault позволяет игнорировать все остальные)
Может ли кто-нибудь помочь мне найти правильный путь?