Remotion.Linq.SqlBackend.SqlPreparation.MethodCallTransformers.LikeMethodCallTransformer.Transform C# (CSharp) Method

Transform() public method

public Transform ( MethodCallExpression methodCallExpression ) : Expression
methodCallExpression System.Linq.Expressions.MethodCallExpression
return System.Linq.Expressions.Expression
    public Expression Transform (MethodCallExpression methodCallExpression)
    {
      ArgumentUtility.CheckNotNull ("methodCallExpression", methodCallExpression);

      MethodCallTransformerUtility.CheckArgumentCount (methodCallExpression, 2);
      MethodCallTransformerUtility.CheckStaticMethod (methodCallExpression);

      return new SqlLikeExpression (methodCallExpression.Arguments[0], methodCallExpression.Arguments[1], new SqlLiteralExpression (@"\"));
    }
  }

Usage Example

    public void Transform ()
    {
      MethodCallExpression expression = (MethodCallExpression) ExpressionHelper.MakeExpression<string, bool> (s => s.SqlLike ("%es%"));

      var transformer = new LikeMethodCallTransformer();
      var result = transformer.Transform (expression);

      var expectedResult = new SqlLikeExpression (expression.Arguments[0], expression.Arguments[1], new SqlLiteralExpression (@"\"));
      SqlExpressionTreeComparer.CheckAreEqualTrees (expectedResult, result);
    }
LikeMethodCallTransformer