예제 #1
0
        private bool IsNewQueryableForSelect(Expression currentQuery, Expression newQuery, out Expression newQueryWithoutSelect)
        {
            ReportingDataQuery <T> .SelectQueryFilter selectQueryFilter = new ReportingDataQuery <T> .SelectQueryFilter();

            ReportingDataQuery <T> .SelectQueryFilter selectQueryFilter2 = new ReportingDataQuery <T> .SelectQueryFilter();

            selectQueryFilter.Visit(currentQuery);
            newQueryWithoutSelect = selectQueryFilter2.Visit(newQuery);
            return(!selectQueryFilter.HasSelectQuery && selectQueryFilter2.HasSelectQuery);
        }
예제 #2
0
        public TElement Execute <TElement>(Expression expression)
        {
            if (expression == null)
            {
                throw new ArgumentNullException("expression");
            }
            IQueryable result = null;

            ElapsedTimeWatcher.Watch(RequestStatistics.RequestStatItem.CmdletResponseTime, delegate
            {
                result = this.dataSource.GetData(this.entity, this.expression).AsQueryable();
            });
            Expression expression2 = ReportingDataQuery <T> .DecorateExpression(result, (MethodCallExpression)expression);

            return(result.Provider.Execute <TElement>(expression2));
        }