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