public static LambdaExpression MakeLambda(Expression expression, TranslatorContext context) { var tupleParameter = Expression.Parameter(typeof(Tuple), "tuple"); var visitor = new ExpressionMaterializer(tupleParameter, context, null, EnumerableUtils <Parameter <Tuple> > .Empty); var processedExpression = OwnerRemover.RemoveOwner(expression); return(FastExpression.Lambda(visitor.Visit(processedExpression), tupleParameter)); }
public ItemProjectorExpression RemoveOwner() { var item = OwnerRemover.RemoveOwner(Item); return(new ItemProjectorExpression(item, DataSource, Context)); }