Example #1
0
        /// <summary>
        /// Given a Queryable and a QueryableEvaluator realizes the query
        /// </summary>
        /// <param name="queryable">IQueryable</param>
        /// <param name="evaluator">IQueryableEvaluator</param>
        /// <returns>Data resulting from the query</returns>
        public override IPagedQueryResult <TResult> Run(IQueryable <TEntity> queryable, IQueryableEvaluator evaluator)
        {
            queryable  = this.RunQuery(queryable);
            this.count = evaluator.Count(queryable);
            queryable  = this.Sort(queryable);
            queryable  = this.Paginate(queryable);
            var result = this.GenerateResult(queryable, evaluator);

            return(result);
        }