コード例 #1
0
        internal static Expression <Func <IEnumerable <T> > > Rewrite <T>(IndexQueryValues queryValues, Expression queryValuesExpression, Expression expression)
        {
            var enumerableRewriter = new IndexExpressionRewriter(queryValues, queryValuesExpression);
            var body = enumerableRewriter.Visit(expression);

            return(Expression.Lambda <Func <IEnumerable <T> > >(body, null));
        }
コード例 #2
0
 internal T Execute()
 {
     if (_func == null)
     {
         var enumerableRewriter = new IndexExpressionRewriter(IndexQuery.QueryValues, IndexQuery.QueryValuesExpression);
         var body       = enumerableRewriter.Visit(Expression);
         var expression = Expression.Lambda <Func <T> >(body, null);
         _func = expression.Compile();
     }
     return(_func());
 }