# Class NpgsqlSqlTranslatingExpressionVisitor

Namespace
  Npgsql.EntityFrameworkCore.PostgreSQL.Query.Internal

Assembly
  Npgsql.EntityFrameworkCore.PostgreSQL.dll

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.

    public class NpgsqlSqlTranslatingExpressionVisitor : RelationalSqlTranslatingExpressionVisitor

Inheritance
  object
  ExpressionVisitor
  RelationalSqlTranslatingExpressionVisitor
  NpgsqlSqlTranslatingExpressionVisitor

Inherited Members
  RelationalSqlTranslatingExpressionVisitor.AddTranslationErrorDetails(string)
  RelationalSqlTranslatingExpressionVisitor.Translate(Expression, bool)
  RelationalSqlTranslatingExpressionVisitor.TranslateProjection(Expression, bool)
  RelationalSqlTranslatingExpressionVisitor.VisitConstant(ConstantExpression)
  RelationalSqlTranslatingExpressionVisitor.VisitExtension(Expression)
  RelationalSqlTranslatingExpressionVisitor.VisitInvocation(InvocationExpression)
  RelationalSqlTranslatingExpressionVisitor.VisitLambda<T>(Expression<T>)
  RelationalSqlTranslatingExpressionVisitor.VisitListInit(ListInitExpression)
  RelationalSqlTranslatingExpressionVisitor.VisitMember(MemberExpression)
  RelationalSqlTranslatingExpressionVisitor.VisitMemberInit(MemberInitExpression)
  RelationalSqlTranslatingExpressionVisitor.VisitParameter(ParameterExpression)
  RelationalSqlTranslatingExpressionVisitor.VisitTypeBinary(TypeBinaryExpression)
  RelationalSqlTranslatingExpressionVisitor.TryBindMember(Expression, MemberIdentity, out Expression, out IPropertyBase)
  RelationalSqlTranslatingExpressionVisitor.TryTranslateAggregateMethodCall(MethodCallExpression, out SqlExpression)
  RelationalSqlTranslatingExpressionVisitor.ParameterValueExtractor<T>(QueryContext, string, List<IComplexProperty>, IProperty)
  RelationalSqlTranslatingExpressionVisitor.ParameterListValueExtractor<TEntity, TProperty>(QueryContext, string, IProperty)
  RelationalSqlTranslatingExpressionVisitor.TranslationErrorDetails
  RelationalSqlTranslatingExpressionVisitor.Dependencies
  ExpressionVisitor.Visit(ReadOnlyCollection<Expression>)
  ExpressionVisitor.Visit(Expression)
  ExpressionVisitor.VisitAndConvert<T>(ReadOnlyCollection<T>, string)
  ExpressionVisitor.VisitAndConvert<T>(T, string)
  ExpressionVisitor.VisitBlock(BlockExpression)
  ExpressionVisitor.VisitCatchBlock(CatchBlock)
  ExpressionVisitor.VisitDebugInfo(DebugInfoExpression)
  ExpressionVisitor.VisitDefault(DefaultExpression)
  ExpressionVisitor.VisitDynamic(DynamicExpression)
  ExpressionVisitor.VisitElementInit(ElementInit)
  ExpressionVisitor.VisitGoto(GotoExpression)
  ExpressionVisitor.VisitIndex(IndexExpression)
  ExpressionVisitor.VisitLabel(LabelExpression)
  ExpressionVisitor.VisitLabelTarget(LabelTarget)
  ExpressionVisitor.VisitLoop(LoopExpression)
  ExpressionVisitor.VisitMemberAssignment(MemberAssignment)
  ExpressionVisitor.VisitMemberBinding(MemberBinding)
  ExpressionVisitor.VisitMemberListBinding(MemberListBinding)
  ExpressionVisitor.VisitMemberMemberBinding(MemberMemberBinding)
  ExpressionVisitor.VisitRuntimeVariables(RuntimeVariablesExpression)
  ExpressionVisitor.VisitSwitch(SwitchExpression)
  ExpressionVisitor.VisitSwitchCase(SwitchCase)
  ExpressionVisitor.VisitTry(TryExpression)
  ExpressionVisitor.Visit<T>(ReadOnlyCollection<T>, Func<T, T>)
  object.Equals(object)
  object.Equals(object, object)
  object.GetHashCode()
  object.GetType()
  object.MemberwiseClone()
  object.ReferenceEquals(object, object)
  object.ToString()

## Constructors

### NpgsqlSqlTranslatingExpressionVisitor(RelationalSqlTranslatingExpressionVisitorDependencies, QueryCompilationContext, QueryableMethodTranslatingExpressionVisitor)

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.

    public NpgsqlSqlTranslatingExpressionVisitor(RelationalSqlTranslatingExpressionVisitorDependencies dependencies, QueryCompilationContext queryCompilationContext, QueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor)

#### Parameters

`dependencies` RelationalSqlTranslatingExpressionVisitorDependencies
`queryCompilationContext` QueryCompilationContext
`queryableMethodTranslatingExpressionVisitor` QueryableMethodTranslatingExpressionVisitor

## Methods

### ConstructLikePatternParameter(QueryContext, string, StartsEndsWithContains)

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.

    public static string? ConstructLikePatternParameter(QueryContext queryContext, string baseParameterName, NpgsqlSqlTranslatingExpressionVisitor.StartsEndsWithContains methodType)

#### Parameters

`queryContext` QueryContext
`baseParameterName` string
`methodType` NpgsqlSqlTranslatingExpressionVisitor.StartsEndsWithContains

#### Returns

string

### GenerateGreatest(IReadOnlyList<SqlExpression>, Type)

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.

    public override SqlExpression GenerateGreatest(IReadOnlyList<SqlExpression> expressions, Type resultType)

#### Parameters

`expressions` IReadOnlyList<SqlExpression>
`resultType` Type

#### Returns

SqlExpression

### GenerateLeast(IReadOnlyList<SqlExpression>, Type)

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.

    public override SqlExpression GenerateLeast(IReadOnlyList<SqlExpression> expressions, Type resultType)

#### Parameters

`expressions` IReadOnlyList<SqlExpression>
`resultType` Type

#### Returns

SqlExpression

### VisitBinary(BinaryExpression)

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.

    protected override Expression VisitBinary(BinaryExpression binaryExpression)

#### Parameters

`binaryExpression` BinaryExpression

#### Returns

Expression

### VisitConditional(ConditionalExpression)

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.

    protected override Expression VisitConditional(ConditionalExpression conditionalExpression)

#### Parameters

`conditionalExpression` ConditionalExpression

#### Returns

Expression

### VisitMethodCall(MethodCallExpression)

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.

    protected override Expression VisitMethodCall(MethodCallExpression methodCallExpression)

#### Parameters

`methodCallExpression` MethodCallExpression

#### Returns

Expression

### VisitNew(NewExpression)

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.

    protected override Expression VisitNew(NewExpression newExpression)

#### Parameters

`newExpression` NewExpression

#### Returns

Expression

### VisitNewArray(NewArrayExpression)

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.

    protected override Expression VisitNewArray(NewArrayExpression newArrayExpression)

#### Parameters

`newArrayExpression` NewArrayExpression

#### Returns

Expression

### VisitUnary(UnaryExpression)

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.

    protected override Expression VisitUnary(UnaryExpression unaryExpression)

#### Parameters

`unaryExpression` UnaryExpression

#### Returns

Expression