Поиск одного значения в нескольких столбцах с Linq.Dynami c .Core - PullRequest
0 голосов
/ 18 марта 2020

Мой сценарий теста связан с текстовым полем поиска и сеткой с результатами поиска.

Используя в настоящее время следующее, я выполняю поиск только по первому столбцу.

foreach (GridColumn s in columns)
{
   data = data.Where(string.Format("{0}.Contains(@0)", s.PropertyName), searchValue);
   break; 
}

Как Вы уже догадались, что если я удаляю оператор break, результаты не возвращаются из-за отсутствия OR операторов между foreach l oop.

. Как мне найти одно значение в нескольких столбцы с Linq.Dynamic.Core?

1 Ответ

1 голос
/ 19 марта 2020

С System.Linq.Dynami c .Core вы можете использовать такой код:

var xx = new [] { "ax", "bx", "cy", "dz" };

var columns = new[] { "x", "y" };

string query = string.Join(" or ", columns.Select(c => $"it.Contains(\"{c}\")"));

var result = xx.AsQueryable().Where(query);

Пример в LinqPad: enter image description here

...