Exemplo n.º 1
0
 public HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments,
                             HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
 {
     return(treeBuilder.Like(
                visitor.Visit(arguments[0]).AsExpression(),
                visitor.Visit(arguments[1]).AsExpression()));
 }
Exemplo n.º 2
0
 public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
 {
     return(treeBuilder.Like(
                visitor.Visit(targetObject).AsExpression(),
                treeBuilder.Concat(
                    treeBuilder.Constant("%"),
                    visitor.Visit(arguments[0]).AsExpression())));
 }
Exemplo n.º 3
0
 public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
 {
     LogIgnoredStringComparisonParameter(method, MethodWithComparer);
     return(treeBuilder.Like(
                visitor.Visit(targetObject).AsExpression(),
                treeBuilder.Concat(
                    visitor.Visit(arguments[0]).AsExpression(),
                    treeBuilder.Constant("%"))));
 }
Exemplo n.º 4
0
 public HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments,
                             HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
 {
     if (arguments.Count == 2)
     {
         return(treeBuilder.Like(
                    visitor.Visit(arguments[0]).AsExpression(),
                    visitor.Visit(arguments[1]).AsExpression()));
     }
     if (arguments[2].NodeType == ExpressionType.Constant)
     {
         var escapeCharExpression = (ConstantExpression)arguments[2];
         return(treeBuilder.Like(
                    visitor.Visit(arguments[0]).AsExpression(),
                    visitor.Visit(arguments[1]).AsExpression(),
                    treeBuilder.Constant(escapeCharExpression.Value)));
     }
     throw new ArgumentException("The escape character must be specified as literal value or a string variable");
 }