public SelectManyLinqExpression(MethodCallExpression node, LinqInitializer init) : base(node, init, ExpressionTypeEx.SelectManyLinq) { if (node.Arguments.Count == 3) { var rawResultSelector = GetLambda(node.Arguments[2]); ResultSelector = init.Evaluator(Source, rawResultSelector); } }
protected ConditionLinqExpression(MethodCallExpression node, LinqInitializer init, ExpressionTypeEx type) : base(node, init, type) { if (node.Arguments.Count > 1) { var rawPredicate = GetLambda(node.Arguments[1]); Predicate = init.Evaluator(Source, rawPredicate); } }
public TakeLinqExpression(MethodCallExpression node, LinqInitializer init) : base(node, init, ExpressionTypeEx.TakeLinq) { Count = (ConstantExpression)node.Arguments[1]; }
public AnyLinqExpression(MethodCallExpression node, LinqInitializer init) : base(node, init, ExpressionTypeEx.AnyLinq) { }
public OrderByLinqExpression(MethodCallExpression node, SortDirection direction, LinqInitializer init) : base(node, init, ExpressionTypeEx.OrderByLinq) { var rawSelector = GetLambda(node.Arguments[1]); KeySelector = init.Evaluator(Source, rawSelector); SortDirection = direction; if (node.Arguments.Count == 3) { Comparer = node.Arguments[2]; } }
protected SelectionLinqExpression(MethodCallExpression node, LinqInitializer init, ExpressionTypeEx type) : base(node, init, type) { var rawSelector = GetLambda(node.Arguments[1]); collectionSelector = init.Evaluator(Source, rawSelector); }
protected LinqExpression(MethodCallExpression node, LinqInitializer init, ExpressionTypeEx type) : base(type) { Method = node; Source = init.Visitor.Visit(node.Arguments[0]); }