Example #1
0
        private static Expression GetTranslationForMcsGetString(MethodInfo methodInfo, IReadOnlyCollection <Expression> args)
        {
            var targetObjectExpr = methodInfo.IsStatic ? args.FirstOrDefault() : null;
            var arguments        = new ReadOnlyCollection <Expression>(args.Skip(1).ToList());
            var newExprs         = McsGetStringLinqTranslator.TranslateParametersMcsGetString(methodInfo, targetObjectExpr, arguments);

            return(new SqlFunctionExpression("McsGetString", methodInfo.ReturnType, "dbo", newExprs));
        }
Example #2
0
        public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObjectExpr, ReadOnlyCollection <Expression> arguments,
                                             HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
        {
            var exprs = McsGetStringLinqTranslator.TranslateParametersMcsGetString(method, targetObjectExpr, arguments);

            var         parameters = exprs.Select(e => visitor.Visit(e).AsExpression());
            HqlTreeNode result     = treeBuilder.MethodCall("mcs_get_string", parameters);

            return(result);
        }