internal static void DoStaticArrayMethodCall(MethodCallExpression expression, SqlGenerate sqlGenerate) { SqlExpressionProvider.Where(expression.Arguments[expression.Arguments.Count - 1], sqlGenerate); sqlGenerate += " in "; var memberExpr = expression.Arguments[0]; if (memberExpr.NodeType == ExpressionType.MemberAccess) { memberExpr = expression.Arguments[0] as MemberExpression; } SqlExpressionProvider.In(memberExpr, sqlGenerate); }
protected override SqlGenerate In(NewArrayExpression expression, SqlGenerate sqlGenerate) { sqlGenerate += "("; foreach (Expression expressionItem in expression.Expressions) { SqlExpressionProvider.In(expressionItem, sqlGenerate); } if (sqlGenerate.Sql[sqlGenerate.Sql.Length - 1] == ',') { sqlGenerate.Sql.Remove(sqlGenerate.Sql.Length - 1, 1); } sqlGenerate += ")"; return(sqlGenerate); }
protected override SqlGenerate In(LambdaExpression expression, SqlGenerate sqlGenerate) { SqlExpressionProvider.In(expression.Body, sqlGenerate); return(sqlGenerate); }
private static new void In(MethodCallExpression expression, SqlGenerate sqlGenerate) { SqlExpressionProvider.Where(expression.Arguments[0], sqlGenerate); sqlGenerate += " in "; SqlExpressionProvider.In(expression.Arguments[1], sqlGenerate); }
internal static void DoEnumerableMethodCall(MethodCallExpression expression, SqlGenerate sqlGenerate) { SqlExpressionProvider.Where(expression.Arguments[0], sqlGenerate); sqlGenerate += " in "; SqlExpressionProvider.In(expression.Object, sqlGenerate); }