private Expression TranslateJoinPredicate(IList <int> leftMapping, IList <int> rightMapping, Expression <Func <Tuple, Tuple, bool> > expression) { var result = new TupleAccessRewriter(leftMapping, ResolveOuterMapping, true).Rewrite(expression, expression.Parameters[0]); return(new TupleAccessRewriter(rightMapping, ResolveOuterMapping, true).Rewrite(result, expression.Parameters[1])); }
private Expression TranslateLambda(Provider originalProvider, LambdaExpression expression) { var replacer = new TupleAccessRewriter(mappings[originalProvider], ResolveOuterMapping, true); return(replacer.Rewrite(expression, expression.Parameters[0])); }