public static Task <T> Run <T>( this IConnection connection, IQueryableValue <T> expression, CancellationToken cancellationToken = default) { return(connection.Run(expression.Compile(), cancellationToken: cancellationToken)); }
public Task <T> Run <T>( IQueryableValue <T> query, Dictionary <string, object> variables = null, bool refresh = false, TimeSpan?cacheDuration = null, string regionName = null, CancellationToken cancellationToken = default) { return(Run(query.Compile(), variables, refresh, cacheDuration, regionName, cancellationToken)); }
public static IQueryableList <TResult> Select <TValue, TResult>( this IQueryableValue <TValue> source, Expression <Func <TValue, IQueryableList <TResult> > > selector) where TValue : IQueryableValue { return(new QueryableList <TResult>( Expression.Call( null, GetMethodInfoOf(() => Select( default(IQueryableValue <TValue>), default(Expression <Func <TValue, IQueryableList <TResult> > >))), new Expression[] { source.Expression, Expression.Quote(selector) }))); }
public static IQueryableValue <TResult> Select <TValue, TResult>( this IQueryableValue <TValue> source, Fragment <TValue, TResult> fragment) where TValue : IQueryableValue { return(new QueryableValue <TResult>( Expression.Call( null, GetMethodInfoOf(() => Select( default(IQueryableValue <TValue>), default(Fragment <TValue, TResult>))), new Expression[] { source.Expression, Expression.Constant(fragment) }))); }
public ICompiledQuery <TResult> Build <TResult>(IQueryableValue <TResult> query) { Initialize(); var rewritten = Visit(query.Expression); var lambda = Expression.Lambda <Func <JObject, TResult> >( rewritten.AddCast(typeof(TResult)), RootDataParameter); var master = new SimpleQuery <TResult>(root, lambda); if (subqueries.Count == 0) { return(master); } else { return(new PagedQuery <TResult>(master, subqueries)); } }
public static ICompiledQuery <T> Compile <T>(this IQueryableValue <T> expression) { return(new QueryBuilder().Build(expression)); }
public static TValue SingleOrDefault <TValue>(this IQueryableValue <TValue> source) { throw new NotImplementedException(); }
public QueryableTranslator(IQueryableValue queryableValue) { _queryableValue = queryableValue ?? throw new ArgumentNullException(nameof(queryableValue)); }
protected Task <T> Run <T>(IQueryableValue <T> expression) { return(_connection.Run(expression)); }
public static void AssertExpressionQueryEqual <T>(string expectedString, IQueryableValue <T> actual) { var actualCompiledQuery = actual.Compile(); AssertCompiledQueryExpressionEqual(expectedString, actualCompiledQuery); }
public static Task <T> Run <T>( this IConnection connection, IQueryableValue <T> expression) { return(connection.Run(expression.Compile())); }