Adding this solved my problem, as the query chain I used it on had an order by and the resulting object was IOrderedQueryable, and not IQueryable.
public static QueryMapper<TSource> Map<TSource>(this IOrderedQueryable<TSource> source)
{
return new QueryMapper<TSource>(source);
}
As a final thought...
I'm just wondering why would "Map(this TSource obj)", have preference over "Map(this IQueryable source)", as IOrderedQueryable has a base type of IQueryable?
Some more info on the topic
Generics and calling overloaded method from difference class - precedence issue