public override HqlTreeNode BuildHql(MethodInfo method, System.Linq.Expressions.Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor) { return(treeBuilder.BooleanMethodCall("StartsWithIgnoreCaseAndDiacritics", new List <HqlExpression>() { visitor.Visit(arguments[0]).AsExpression(), visitor.Visit(arguments[1]).AsExpression(), })); }
public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor) { IEnumerable <HqlExpression> args = arguments.Select(a => visitor.Visit(a)) .Cast <HqlExpression>(); return(treeBuilder.BooleanMethodCall("FREETEXT", args)); }
public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor) { return(treeBuilder.BooleanMethodCall(FunctionName, new[] { treeBuilder.MethodCall(string.Empty, visitor.Visit(arguments[0]).AsExpression()), visitor.Visit(arguments[1]).AsExpression() })); }
public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor) { var arg = visitor.Visit(arguments[0]).AsExpression(); var parent = visitor.Visit(arguments[1]).AsExpression(); var mt = treeBuilder.BooleanMethodCall("hid_IsDescendantOf", new[] { arg, parent }); return(mt); }
public override HqlTreeNode BuildHql( MethodInfo method, Expression targetObject, ReadOnlyCollection <System.Linq.Expressions.Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor) { return(treeBuilder.BooleanMethodCall( "similar to", arguments.Select(visitor.Visit).Cast <HqlExpression>())); }
public override HqlTreeNode BuildHql(MethodInfo method, System.Linq.Expressions.Expression targetObject, ReadOnlyCollection <System.Linq.Expressions.Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor) { var args = new[] { visitor.Visit(arguments[0]).AsExpression(), visitor.Visit(arguments[1]).AsExpression() }; return(treeBuilder.BooleanMethodCall("contains", args)); }
public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor) { /* * HqlDot hqlDot = (HqlDot)visitor.Visit(arguments[0]).AsExpression(); * List<HqlTreeNode> hqlTreeNodes = hqlDot.Children.ToList(); * * FieldInfo fieldInfo = typeof(HqlTreeNode).GetField("_node", BindingFlags.NonPublic | BindingFlags.Instance); * * HqlIdent node1 = (HqlIdent)hqlTreeNodes[0]; * IASTNode tableNode = (IASTNode)fieldInfo.GetValue(node1); * string tableText = tableNode.Text; * * HqlIdent node2 = (HqlIdent)hqlTreeNodes[1]; * IASTNode columnNode = (IASTNode)fieldInfo.GetValue(node2); * string columnText = columnNode.Text; * * string format = string.Format("{0}.{1} (+)", tableText, columnText); * * //return treeBuilder.AnyValueConstant(format); * return treeBuilder.AnyValueConstant("customer1_.ID (+)"); */ HqlAnyValueConstant expression0 = treeBuilder.AnyValueConstant("+"); HqlExpression expression1 = visitor.Visit(arguments[0]).AsExpression(); List <HqlExpression> expressions = new List <HqlExpression>(); expressions.Add(expression0); expressions.Add(expression1); return(treeBuilder.BooleanMethodCall("", expressions)); //treeBuilder.Equality(); //HqlMethodCall leftSign = treeBuilder.MethodCall("", treeBuilder.Plus()); /* * return expression2; * * HqlDot dot = (HqlDot) expression2; * //return treeBuilder.AnyValueConstant(" ", expression1, expression2); * return expression1; * * /* * return expression2; */ //return leftSign; //return treeBuilder.Space(leftSign, ); }