public static SqlExpression Translate(Expression expression) { var ast = new Stack<SqlExpression>(); new WhereParser(ast).Visit(expression); if (ast.Count == 0) return null; var sqlExpression = ast.Pop(); sqlExpression = new ImplicitBooleanPredicatePropagator().Visit(sqlExpression); sqlExpression = new NullCheckPropagator().Visit(sqlExpression); return sqlExpression; }
public static SqlExpression Translate(Expression expression) { var ast = new Stack <SqlExpression>(); new WhereParser(ast).Visit(expression); if (ast.Count == 0) { return(null); } var sqlExpression = ast.Pop(); sqlExpression = new ImplicitBooleanPredicatePropagator().Visit(sqlExpression); sqlExpression = new NullCheckPropagator().Visit(sqlExpression); return(sqlExpression); }