发表于 2015-7-8 07:37:48

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]
查看完整版本: MongoDB官方C#驱动的AsQueryable踩到坑了