Я использую.NET 3.5
У меня есть список объектов Company.cs.
Я хочу динамически записывать этот список с помощью LINQ, что означает, что пользователь вводит эту строку в текстовое поле:
(CompanyName = "Google") OR
(Country = "Czech Republic") or
(CompanyName = "Microsoft") AND
(Country = "USA")
Как я могу использовать эту строку вместе с linq и предложением.Where() для фильтрации существующих объектов компании?
Или лучше вообще использовать DataTable и использовать метод Select?
Проверьте библиотеку Dynamic LINQ.
Редактировать:
Извините, я вас неправильно понял.
Если у вас есть списки компаний и стран, например:
var compNames = new[] { "Boo", "Foo" };
var countries = new[] { "Germany", "Bubu" };
Затем вы можете фильтровать вот так:
from c in companies
where compNames.Contains(c.Name) || countries.Contains(c.Country)
select c