/// <summary> /// Executes the given Expression and returns the result. /// </summary> /// <param name="expression"> /// The Expression to execute. /// </param> /// <returns> /// An object that contains the result of the expression. /// </returns> private object ExecuteQueryWorker(Expression expression) { Type enumerableType = Queryable.GetType().GetEnumerableElementType(); Type executorType = typeof(LuceneQueryExecutor <>).MakeGenericType(enumerableType); LuceneQueryExecutor executor = (LuceneQueryExecutor)Activator.CreateInstance(executorType, Searcher, FieldNameResolver); return(executor.Execute(expression)); }
private LuceneQueryable <T> CreateQueryable <T>(Func <T> factory, Context context, IDocumentMapper <T> mapper) { var executor = new LuceneQueryExecutor <T>(context, factory, mapper); return(new LuceneQueryable <T>(queryParser, executor)); }