public override Expression Visit(Expression node) { if (SoodaQueryExecutor.IsConstant(node)) { return(node); } if (node.NodeType == ExpressionType.Convert) { return(base.Visit(node)); } SoqlExpression soql; try { soql = _executor.TranslateExpression(node); } catch (NotSupportedException) { return(base.Visit(node)); } ParameterExpression pe = Expression.Parameter(node.Type); _parameters.Add(pe); _soqls.Add(soql); return(pe); }
internal SelectExecutor(SoodaQueryExecutor executor) { _executor = executor; }