Я пытаюсь использовать PredicateBuilder, как описано здесь - http://www.albahari.com/nutshell/predicatebuilder.aspx
Следующий код
var predicate = PredicateBuilder.False<StreetDTO>();
predicate = predicate.Or(p => p.Locality.Contains(criteria.Locality));
predicate = predicate.Or(p => p.Name.Contains(criteria.Name));
predicate = predicate.Or(p => p.Town.Contains(criteria.Town));
List<StreetDTO> streetData = StreetData.Instance();
var streetList = from street in streetData.Where(predicate)
select street;
насколько я вижу, это должно работать, в соответствии с примером
var newKids = Product.ContainsInDescription ("BlackBerry", "iPhone");
var classics = Product.ContainsInDescription ("Nokia", "Ericsson")
.And (Product.IsSelling());
var query =
from p in Data.Products.Where (newKids.Or (classics))
select p;
но все, что я получаю, это
Ошибка 1 Аргументы типа для метода "System.Linq.Enumerable.Where(System.Collections.Generic.IEnumerable, System.Func) 'не может быть выведенных из использования. Пытаться задание аргументов типа в явном виде.
Я пытаюсь получить некоторое понимание в LINQ 'on-the-job', поэтому извиняюсь, если это простой вопрос.