/// <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)); }
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); }
protected abstract Expression VisitQueryableFunction([NotNull] QueryableFunctionExpression queryableFunctionExpression);