Example #1
0
        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;
        }
Example #2
0
        public RestQueryable(IRemoteDataFetcher dataFetcher)
        {
            DataFetcher = dataFetcher;
            Expression  = Expression.Constant(this);

            var provider = RemoteObjectContext.DefaultObjectResolver.GetInstance <IQueryProvider <T> >();

            provider.DataFetcher = DataFetcher;
            Provider             = provider;
        }
Example #3
0
 /// <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));
 }