/// <summary> /// Obtain the DataServiceContext from the incoming enumerable /// </summary> /// <param name="items">An IEnumerable that may be a DataServiceQuery or QueryOperationResponse object</param> /// <returns>DataServiceContext instance associated with the input</returns> private static DataServiceContext GetContextFromItems(IEnumerable <T> items) { Debug.Assert(items != null, "items != null"); DataServiceQuery <T> dataServiceQuery = items as DataServiceQuery <T>; if (dataServiceQuery != null) { DataServiceQueryProvider queryProvider = dataServiceQuery.Provider as DataServiceQueryProvider; Debug.Assert(queryProvider != null, "Got DataServiceQuery with unknown query provider."); DataServiceContext context = queryProvider.Context; Debug.Assert(context != null, "Query provider must always have valid context."); return(context); } QueryOperationResponse queryOperationResponse = items as QueryOperationResponse; if (queryOperationResponse != null) { Debug.Assert(queryOperationResponse.Results != null, "Got QueryOperationResponse without valid results."); DataServiceContext context = queryOperationResponse.Results.Context; Debug.Assert(context != null, "Materializer must always have valid context."); return(context); } throw new ArgumentException(Strings.DataServiceCollection_CannotDetermineContextFromItems); }
/// <summary> /// query object /// </summary> /// <param name="expression">expression for query</param> /// <param name="provider">query provider for query</param> private DataServiceQuery(Expression expression, DataServiceQueryProvider provider) { Debug.Assert(null != provider.Context, "null context"); Debug.Assert(expression != null, "null expression"); Debug.Assert(provider is DataServiceQueryProvider, "Currently only support Web Query Provider"); this.queryExpression = expression; this.queryProvider = provider; }
private static DataServiceContext GetContextFromItems(IEnumerable <T> items) { DataServiceQuery <T> query = items as DataServiceQuery <T>; if (query != null) { DataServiceQueryProvider provider = query.Provider as DataServiceQueryProvider; return(provider.Context); } QueryOperationResponse response = items as QueryOperationResponse; if (response == null) { throw new ArgumentException(Strings.DataServiceCollection_CannotDetermineContextFromItems); } return(response.Results.Context); }
private DataServiceQuery(System.Linq.Expressions.Expression expression, DataServiceQueryProvider provider) { this.queryExpression = expression; this.queryProvider = provider; }
internal DataServiceOrderedQuery(Expression expression, DataServiceQueryProvider provider) : base(expression, provider) { }