Пример #1
0
        /// <summary>
        ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
        ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
        ///     any release. You should only use it directly in your code with extreme caution and knowing that
        ///     doing so can result in application failures when updating to a new Entity Framework Core release.
        /// </summary>
        protected override Expression VisitQueryableFunction(QueryableFunctionExpression queryableFunctionExpression)
        {
            Check.NotNull(queryableFunctionExpression, nameof(queryableFunctionExpression));

            if (string.IsNullOrEmpty(queryableFunctionExpression.Schema))
            {
                queryableFunctionExpression = new QueryableFunctionExpression(
                    schema: "dbo",
                    queryableFunctionExpression.Name,
                    queryableFunctionExpression.Arguments,
                    queryableFunctionExpression.Alias);
            }

            return(base.VisitQueryableFunction(queryableFunctionExpression));
        }
Пример #2
0
        protected override Expression VisitQueryableFunction(QueryableFunctionExpression queryableFunctionExpression)
        {
            Check.NotNull(queryableFunctionExpression, nameof(queryableFunctionExpression));

            if (!string.IsNullOrEmpty(queryableFunctionExpression.Schema))
            {
                _relationalCommandBuilder
                .Append(_sqlGenerationHelper.DelimitIdentifier(queryableFunctionExpression.Schema))
                .Append(".");
            }

            _relationalCommandBuilder
            .Append(_sqlGenerationHelper.DelimitIdentifier(queryableFunctionExpression.Name))
            .Append("(");

            GenerateList(queryableFunctionExpression.Arguments, e => Visit(e));

            _relationalCommandBuilder
            .Append(")")
            .Append(AliasSeparator)
            .Append(_sqlGenerationHelper.DelimitIdentifier(queryableFunctionExpression.Alias));

            return(queryableFunctionExpression);
        }
Пример #3
0
 protected abstract Expression VisitQueryableFunction([NotNull] QueryableFunctionExpression queryableFunctionExpression);