public RestQueryable(IRemoteDataFetcher dataFetcher, Expression expression) : this(dataFetcher) { if (expression == null) { throw new ArgumentNullException(string.Format("[RestQueryable<{0}>].[ctor].expression", typeof(T).Name), "查询表达式不能为 null 。"); } Expression = expression; }
public RestQueryable(IRemoteDataFetcher dataFetcher) { DataFetcher = dataFetcher; Expression = Expression.Constant(this); var provider = RemoteObjectContext.DefaultObjectResolver.GetInstance <IQueryProvider <T> >(); provider.DataFetcher = DataFetcher; Provider = provider; }
/// <summary> /// 获取一个 <see cref="IQueryable{TSource}" /> 类型的 RESTful 查询。 /// </summary> /// <typeparam name="TSource">当前查询的元素类型。</typeparam> /// <param name="dataFetcher">一个远程数据获取器的实例对象。</param> /// <returns>一个可以链式编写的 <see cref="IQueryable{TSource}" /> 查询。</returns> public static IQueryable <TSource> AsQuerable <TSource>(this IRemoteDataFetcher dataFetcher) { return(new RestQueryable <TSource>(dataFetcher)); }