collection.AsQueryable().Where()有4个
重载,分别是:
public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);
public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, int, bool>> predicate);
public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, int, bool> predicate);
由于分页需要同时查询数量和列表,就把条件提出来,结果类型
错误的选成了IEnumerable
的Func,而不是IQueryable的Expression>,结果导致在C#中筛选、排序。
唉,以后用扩展方法还要看清提供者。