public static string ToQueryString <T>(this IQueryable <T> source) { if (source.Provider is MapinfoQueryProvider) { MapinfoQueryProvider provider = source.Provider as MapinfoQueryProvider; return(provider.GetQueryString(source.Expression)); } else { throw new ArgumentOutOfRangeException("Source provider is not a Mapinfo Query Provider"); } }