/// <summary> /// Executes expression query asynchronously. /// </summary> /// <param name="expression"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public Task <object> ExecuteAsync( Expression expression, CancellationToken cancellationToken = default(CancellationToken)) { if (expression == null) { throw new ArgumentNullException(nameof(expression)); } var result = new TranslationResult(); _queryTranslator.Translate(expression, result); return(_cloudTable .ExecuteQueryAsync(result.TableQuery, cancellationToken) .Then(p => GetProcessedResult(p, result), cancellationToken)); }