Invalid arguments using PredicateBuilder

List fromDB; //query result from DB or cache Expression<Func<T, bool>> predicate = PredicateBuilder.True(); predicate = predicate.And(p => p.Title.Contains(“some title”)); List result = fromDB.Where(predicate).ToList(); Aww. I’ve got an error using this predicate with List… Try this… List result = fromDB.Where(predicate.Compile()).ToList(); Why it works? “Where” arguments must be a Func, but PredicateBuilder.Or returns Expression< Func>. source:stackoverflow