IQueryableLINQ methods accept Expression Trees , not regular delegates.
, func Expression<Func<Foo, bool>>, :
Expression<Func<Foo, bool>> IsSuperhero = x => x.WearsUnderpantsOutsideTrousers;
IEnumerable<T>, AsQueryable() Compile(), :
IQueryable<Foo> superFoos = foos.AsQueryable().Where(IsSuperhero);
IEnumerable<Foo> superFoos = foos.Where(IsSuperhero.Compile());