我有一个 Func 定义如下:
Func<Foo, bool> IsSuperhero = x => x.WearsUnderpantsOutsideTrousers;
我可以像这样查询 IEnumerables:
IEnumerable<Foo> foos = GetAllMyFoos();
var superFoos = foos.Where(IsSuperhero);
但是当我尝试为 IQueryable 的 Where 方法提供相同的 Func 时,我得到:
'无法将源类型 System.Collections.Generic.IEnumerable 转换为 System.Linq.IQueryable。'
这是怎么回事?我如何定义一个可以同时作为 IEnumerable 和 IQueryable 规范的 Func?