private QueryCompiler.CompiledQuery Find(Expression query, bool add, out object[] args) { LambdaExpression pq = Parameterize(query, out args); var cq = new QueryCompiler.CompiledQuery(pq); QueryCompiler.CompiledQuery cached; cache.Lookup(cq, add, out cached); return(cached); }
public object Execute(Expression query) { object[] args; QueryCompiler.CompiledQuery cached = Find(query, true, out args); return(cached.Invoke(args)); }
private static bool CompareQueries(QueryCompiler.CompiledQuery x, QueryCompiler.CompiledQuery y) { return(ExpressionComparer.AreEqual(x.Query, y.Query, fnCompareValues)); }