public SqlExpression Translate(SqlExpression instance, MethodInfo method, IReadOnlyList <SqlExpression> arguments, IDiagnosticsLogger <DbLoggerCategory.Query> logger) { if (method.Equals(TrimWithoutArgsMethod)) { return(_fbSqlExpressionFactory.Trim("BOTH", null, instance)); } if (method.Equals(TrimWithCharArgMethod)) { return(_fbSqlExpressionFactory.Trim("BOTH", arguments[0], instance)); } if (method.Equals(TrimEndWithoutArgsMethod)) { return(_fbSqlExpressionFactory.Trim("TRAILING", null, instance)); } if (method.Equals(TrimEndWithCharArgMethod)) { return(_fbSqlExpressionFactory.Trim("TRAILING", arguments[0], instance)); } if (method.Equals(TrimStartWithoutArgsMethod)) { return(_fbSqlExpressionFactory.Trim("LEADING", null, instance)); } if (method.Equals(TrimStartWithCharArgMethod)) { return(_fbSqlExpressionFactory.Trim("LEADING", arguments[0], instance)); } return(null); }
public virtual SqlExpression Translate(SqlExpression instance, MethodInfo method, IReadOnlyList <SqlExpression> arguments) { if (method.Equals(TrimWithoutArgsMethod)) { return(_fbSqlExpressionFactory.Trim("BOTH", null, instance)); } if (method.Equals(TrimWithCharArgMethod)) { return(_fbSqlExpressionFactory.Trim("BOTH", arguments[0], instance)); } if (method.Equals(TrimEndWithoutArgsMethod)) { return(_fbSqlExpressionFactory.Trim("TRAILING", null, instance)); } if (method.Equals(TrimEndWithCharArgMethod)) { return(_fbSqlExpressionFactory.Trim("TRAILING", arguments[0], instance)); } if (method.Equals(TrimStartWithoutArgsMethod)) { return(_fbSqlExpressionFactory.Trim("LEADING", null, instance)); } if (method.Equals(TrimStartWithCharArgMethod)) { return(_fbSqlExpressionFactory.Trim("LEADING", arguments[0], instance)); } return(null); }