public AuthorizingQueryProvider(IQueryProvider provider, IEntityQueryAuthorizer entityQueryAuthorizer) { this.provider = provider; asyncProvider = provider as IDbAsyncQueryProvider; QueryAuthorizer = entityQueryAuthorizer; }
public Task <TResult> ExecuteAsync <TResult>(Expression expression, CancellationToken cancellationToken) { IDbAsyncQueryProvider asyncProvider = inner as IDbAsyncQueryProvider; if (asyncProvider == null) { throw new InvalidOperationException("The source IQueryProvider doesn't implement IDbAsyncQueryProvider."); } var decompiled = DecompileExpressionVisitor.Decompile(expression); return(asyncProvider.ExecuteAsync <TResult>(decompiled, cancellationToken)); }
/// <summary> /// Asynchronously executes the strongly-typed query represented by a specified expression tree. /// </summary> /// <returns> A Task containing the value that results from executing the specified query. </returns> /// <param name="expression"> An expression tree that represents a LINQ query. </param> /// <typeparam name="TResult"> The type of the value that results from executing the query. </typeparam> /// <param name="cancellationToken"> The token to monitor for cancellation requests. </param> public static Task <TResult> ExecuteAsync <TResult>(this IDbAsyncQueryProvider provider, Expression expression) { return(provider.ExecuteAsync <TResult>(expression, CancellationToken.None)); }
/// <summary>Constructor.</summary> /// <param name="originalProvider">The original provider.</param> #if NET45 public QueryInterceptorProvider(IDbAsyncQueryProvider originalProvider)
public AsyncQueryable(IQueryable <T> queryable) { this.queryable = queryable; this.dbAsyncQueryProvider = new DbAsyncQueryProvider <T>(queryable.Provider); this.dbAsyncEnumerator = new DbAsyncEnumerator <T>(queryable.GetEnumerator()); }