static void VisitStartsWith(SqlExpressionVisitor <TEntity> visitor, MethodCallExpression call)
 {
     visitor.Visit(call.Object);
     visitor.AddFragment(" LIKE ");
     visitor.Visit(call.Arguments[0]);
     visitor.AddFragment(" || '%'");
 }
 static void VisitContains(SqlExpressionVisitor <TEntity> visitor, MethodCallExpression call)
 {
     visitor.Visit(call.Object);
     visitor.AddFragment(" LIKE '%' || ");
     visitor.Visit(call.Arguments[0]);
     visitor.AddFragment(" || '%'");
 }
Beispiel #3
0
 static void VisitContains(SqlExpressionVisitor <TEntity> visitor, MethodCallExpression call)
 {
     visitor.Visit(call.Object);
     visitor.AddFragment(" LIKE CONCAT('%', ");
     visitor.Visit(call.Arguments[0]);
     visitor.AddFragment(", '%')");
 }
Beispiel #4
0
 void IExpressionNodeVisitor <TEntity, BinaryExpression> .Visit(SqlExpressionVisitor <TEntity> visitor, BinaryExpression node)
 {
     visitor.Visit(node.Left);
     visitor.AddFragment(" ");
     visitor.AddFragment(_operator);
     visitor.AddFragment(" ");
     visitor.Visit(node.Right);
 }
 static void VisitSubstring(SqlExpressionVisitor <TEntity> visitor, MethodCallExpression call)
 {
     visitor.AddFragment("SUBSTRING(");
     visitor.Visit(call.Object);
     visitor.AddFragment(", ");
     visitor.Visit(call.Arguments[0]);
     visitor.AddFragment(", 8000)");
 }
 static void VisitSubstring(SqlExpressionVisitor <TEntity> visitor, MethodCallExpression call)
 {
     visitor.AddFragment("SUBSTR(");
     visitor.Visit(call.Object);
     foreach (var arg in call.Arguments)
     {
         visitor.AddFragment(", ");
         visitor.Visit(arg);
     }
     visitor.AddFragment(")");
 }
Beispiel #7
0
 void IExpressionNodeVisitor <EntityType, BinaryExpression> .Visit(SqlExpressionVisitor <EntityType> visitor, BinaryExpression node)
 {
     if (node.Left.NodeType == ExpressionType.Constant && ((ConstantExpression)node.Left).Value == null)
     {
         visitor.Visit(node.Right);
         visitor.AddFragment(" IS NOT NULL");
     }
     else if (node.Right.NodeType == ExpressionType.Constant && ((ConstantExpression)node.Right).Value == null)
     {
         visitor.Visit(node.Left);
         visitor.AddFragment(" IS NOT NULL");
     }
     else
     {
         visitor.Visit(node.Left);
         visitor.AddFragment(" <> ");
         visitor.Visit(node.Right);
     }
 }
Beispiel #8
0
 void IExpressionNodeVisitor <TEntity, UnaryExpression> .Visit(SqlExpressionVisitor <TEntity> visitor, UnaryExpression node)
 {
     visitor.Visit(node.Operand);
     visitor.AddFragment(" <> 0");
 }
 static void VisitToLower(SqlExpressionVisitor <TEntity> visitor, MethodCallExpression call)
 {
     visitor.AddFragment("LOWER(");
     visitor.Visit(call.Object);
     visitor.AddFragment(")");
 }