DefaultQuerySqlGenerator DefaultQuerySqlGenerator Class

Definition

The default query SQL generator.

public class DefaultQuerySqlGenerator : ThrowingExpressionVisitor, ISqlExpressionVisitor, IQuerySqlGenerator
Public Class DefaultQuerySqlGenerator
    Inherits ThrowingExpressionVisitor
    Implements ISqlExpressionVisitor, IQuerySqlGenerator
Inheritance
System.ObjectSystem.Object
DefaultQuerySqlGeneratorDefaultQuerySqlGenerator
Implements

Constructors

DefaultQuerySqlGenerator(IRelationalCommandBuilderFactory, ISqlGenerationHelper, IParameterNameGeneratorFactory, IRelationalTypeMapper, SelectExpression) DefaultQuerySqlGenerator(IRelationalCommandBuilderFactory, ISqlGenerationHelper, IParameterNameGeneratorFactory, IRelationalTypeMapper, SelectExpression)

Creates a new instance of DefaultQuerySqlGenerator.

public DefaultQuerySqlGenerator(IRelationalCommandBuilderFactory relationalCommandBuilderFactory, ISqlGenerationHelper sqlGenerationHelper, IParameterNameGeneratorFactory parameterNameGeneratorFactory, IRelationalTypeMapper relationalTypeMapper, SelectExpression selectExpression)
Public Sub New(relationalCommandBuilderFactory As IRelationalCommandBuilderFactory, sqlGenerationHelper As ISqlGenerationHelper, parameterNameGeneratorFactory As IParameterNameGeneratorFactory, relationalTypeMapper As IRelationalTypeMapper, selectExpression As SelectExpression)
Parameters
relationalCommandBuilderFactory
IRelationalCommandBuilderFactory IRelationalCommandBuilderFactory

The relational command builder factory.

sqlGenerationHelper
ISqlGenerationHelper ISqlGenerationHelper

The SQL generation helper.

parameterNameGeneratorFactory
IParameterNameGeneratorFactory IParameterNameGeneratorFactory

The parameter name generator factory.

relationalTypeMapper
IRelationalTypeMapper IRelationalTypeMapper

The relational type mapper.

selectExpression
SelectExpression SelectExpression

The select expression.

Properties

ConcatOperator ConcatOperator

The default string concatenation operator SQL.

protected virtual string ConcatOperator { get; }
Protected Overridable ReadOnly Property ConcatOperator As String
Value
System.String System.String

IsCacheable IsCacheable

Gets or sets a value indicating whether this SQL query is cacheable.

public virtual bool IsCacheable { get; }
Public Overridable ReadOnly Property IsCacheable As Boolean
Value
System.Boolean System.Boolean

true if this SQL query is cacheable, false if not.

ParameterValues ParameterValues

Gets the parameter values.

protected virtual IReadOnlyDictionary<string, object> ParameterValues { get; }
Protected Overridable ReadOnly Property ParameterValues As IReadOnlyDictionary(Of String, Object)
Value
System.Collections.Generic.IReadOnlyDictionary<System.String, System.Object> System.Collections.Generic.IReadOnlyDictionary(Of System.String, System.Object)

The parameter values.

SelectExpression SelectExpression

Gets the select expression.

protected virtual SelectExpression SelectExpression { get; }
Protected Overridable ReadOnly Property SelectExpression As SelectExpression
Value
SelectExpression SelectExpression

The select expression.

Sql Sql

The generated SQL.

protected virtual IRelationalCommandBuilder Sql { get; }
Protected Overridable ReadOnly Property Sql As IRelationalCommandBuilder

SqlGenerator SqlGenerator

Gets the SQL generation helper.

protected virtual ISqlGenerationHelper SqlGenerator { get; }
Protected Overridable ReadOnly Property SqlGenerator As ISqlGenerationHelper
Value
ISqlGenerationHelper ISqlGenerationHelper

The SQL generation helper.

TypedFalseLiteral TypedFalseLiteral

The default false literal SQL.

protected virtual string TypedFalseLiteral { get; }
Protected Overridable ReadOnly Property TypedFalseLiteral As String
Value
System.String System.String

TypedTrueLiteral TypedTrueLiteral

The default true literal SQL.

protected virtual string TypedTrueLiteral { get; }
Protected Overridable ReadOnly Property TypedTrueLiteral As String
Value
System.String System.String

Methods

CreateUnhandledItemException(T, String) CreateUnhandledItemException(Of T)(T, String)

Creates unhandled item exception.

protected override Exception CreateUnhandledItemException<T>(T unhandledItem, string visitMethod)
Protected Overrides Function CreateUnhandledItemException(Of T)(unhandledItem As T, visitMethod As String) As Exception
Type Parameters
T

Generic type parameter.

Parameters
unhandledItem
T T

The unhandled item.

visitMethod
System.String System.String

The visit method.

Returns
System.Exception System.Exception

The new unhandled item exception.

CreateValueBufferFactory(IRelationalValueBufferFactoryFactory, DbDataReader) CreateValueBufferFactory(IRelationalValueBufferFactoryFactory, DbDataReader)

Creates a relational value buffer factory.

public virtual IRelationalValueBufferFactory CreateValueBufferFactory(IRelationalValueBufferFactoryFactory relationalValueBufferFactoryFactory, DbDataReader dataReader)
Public Overridable Function CreateValueBufferFactory(relationalValueBufferFactoryFactory As IRelationalValueBufferFactoryFactory, dataReader As DbDataReader) As IRelationalValueBufferFactory
Parameters
relationalValueBufferFactoryFactory
IRelationalValueBufferFactoryFactory IRelationalValueBufferFactoryFactory

The relational value buffer factory.

dataReader
System.Data.Common.DbDataReader System.Data.Common.DbDataReader

The data reader.

Returns

ExtractNonNullExpressionValues(IReadOnlyList) ExtractNonNullExpressionValues(IReadOnlyList(Of Expression))

Extracts the non null expression values from a list of expressions.

protected virtual IReadOnlyList<Expression> ExtractNonNullExpressionValues(IReadOnlyList<Expression> inExpressionValues)
Protected Overridable Function ExtractNonNullExpressionValues(inExpressionValues As IReadOnlyList(Of Expression)) As IReadOnlyList(Of Expression)
Parameters
inExpressionValues
System.Collections.Generic.IReadOnlyList<System.Linq.Expressions.Expression> System.Collections.Generic.IReadOnlyList(Of System.Linq.Expressions.Expression)

The list of expressions.

Returns
System.Collections.Generic.IReadOnlyList<System.Linq.Expressions.Expression> System.Collections.Generic.IReadOnlyList(Of System.Linq.Expressions.Expression)

The extracted non null expression values.

GenerateBinaryOperator(ExpressionType) GenerateBinaryOperator(ExpressionType)

Generates SQL for a given binary operation type.

protected virtual string GenerateBinaryOperator(ExpressionType op)
Protected Overridable Function GenerateBinaryOperator(op As ExpressionType) As String
Parameters
op
System.Linq.Expressions.ExpressionType System.Linq.Expressions.ExpressionType

The operation.

Returns
System.String System.String

The binary operator.

GenerateFromSql(String, Expression, IReadOnlyDictionary) GenerateFromSql(String, Expression, IReadOnlyDictionary(Of String, Object))

Generate SQL corresponding to a FromSql query.

protected virtual void GenerateFromSql(string sql, Expression arguments, IReadOnlyDictionary<string, object> parameters)
Protected Overridable Sub GenerateFromSql(sql As String, arguments As Expression, parameters As IReadOnlyDictionary(Of String, Object))
Parameters
sql
System.String System.String

The FromSql SQL query.

arguments
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The arguments.

parameters
System.Collections.Generic.IReadOnlyDictionary<System.String, System.Object> System.Collections.Generic.IReadOnlyDictionary(Of System.String, System.Object)

The parameters for this query.

GenerateLimitOffset(SelectExpression) GenerateLimitOffset(SelectExpression)

Generates the LIMIT OFFSET part of the SELECT statement,

protected virtual void GenerateLimitOffset(SelectExpression selectExpression)
Protected Overridable Sub GenerateLimitOffset(selectExpression As SelectExpression)
Parameters
selectExpression
SelectExpression SelectExpression

The select expression.

GenerateOperator(Expression) GenerateOperator(Expression)

Generates an SQL operator for a given expression.

protected virtual string GenerateOperator(Expression expression)
Protected Overridable Function GenerateOperator(expression As Expression) As String
Parameters
expression
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The expression.

Returns
System.String System.String

The operator.

GenerateOrderBy(IReadOnlyList) GenerateOrderBy(IReadOnlyList(Of Ordering))

Generates the ORDER BY SQL.

protected virtual void GenerateOrderBy(IReadOnlyList<Ordering> orderings)
Protected Overridable Sub GenerateOrderBy(orderings As IReadOnlyList(Of Ordering))
Parameters
orderings
System.Collections.Generic.IReadOnlyList<Ordering> System.Collections.Generic.IReadOnlyList(Of Ordering)

The orderings.

GenerateSql(IReadOnlyDictionary) GenerateSql(IReadOnlyDictionary(Of String, Object))

Generates SQL for the given parameter values.

public virtual IRelationalCommand GenerateSql(IReadOnlyDictionary<string, object> parameterValues)
Public Overridable Function GenerateSql(parameterValues As IReadOnlyDictionary(Of String, Object)) As IRelationalCommand
Parameters
parameterValues
System.Collections.Generic.IReadOnlyDictionary<System.String, System.Object> System.Collections.Generic.IReadOnlyDictionary(Of System.String, System.Object)

The parameter values.

Returns

A relational command.

GenerateTop(SelectExpression) GenerateTop(SelectExpression)

Generates the TOP part of the SELECT statement,

protected virtual void GenerateTop(SelectExpression selectExpression)
Protected Overridable Sub GenerateTop(selectExpression As SelectExpression)
Parameters
selectExpression
SelectExpression SelectExpression

The select expression.

InferTypeMappingFromColumn(Expression) InferTypeMappingFromColumn(Expression)

Infers a type mapping from a column expression.

protected virtual RelationalTypeMapping InferTypeMappingFromColumn(Expression expression)
Protected Overridable Function InferTypeMappingFromColumn(expression As Expression) As RelationalTypeMapping
Parameters
expression
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

The expression to infer a type mapping for.

Returns

A RelationalTypeMapping.

ProcessInExpressionValues(IEnumerable) ProcessInExpressionValues(IEnumerable(Of Expression))

Process the InExpression values.

protected virtual IReadOnlyList<Expression> ProcessInExpressionValues(IEnumerable<Expression> inExpressionValues)
Protected Overridable Function ProcessInExpressionValues(inExpressionValues As IEnumerable(Of Expression)) As IReadOnlyList(Of Expression)
Parameters
inExpressionValues
System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> System.Collections.Generic.IEnumerable(Of System.Linq.Expressions.Expression)

The in expression values.

Returns
System.Collections.Generic.IReadOnlyList<System.Linq.Expressions.Expression> System.Collections.Generic.IReadOnlyList(Of System.Linq.Expressions.Expression)

A list of expressions.

TryGenerateBinaryOperator(ExpressionType, out String) TryGenerateBinaryOperator(ExpressionType, ByRef String)

Attempts to generate binary operator for a given expression type.

protected virtual bool TryGenerateBinaryOperator(ExpressionType op, out string result)
Protected Overridable Function TryGenerateBinaryOperator(op As ExpressionType, ByRef result As String) As Boolean
Parameters
op
System.Linq.Expressions.ExpressionType System.Linq.Expressions.ExpressionType

The operation.

result
System.String System.String

[out] The SQL binary operator.

Returns
System.Boolean System.Boolean

true if it succeeds, false if it fails.

VisitAlias(AliasExpression) VisitAlias(AliasExpression)

Visits an AliasExpression.

public virtual Expression VisitAlias(AliasExpression aliasExpression)
Public Overridable Function VisitAlias(aliasExpression As AliasExpression) As Expression
Parameters
aliasExpression
AliasExpression AliasExpression

The alias expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitBinary(BinaryExpression) VisitBinary(BinaryExpression)

Visit a BinaryExpression.

protected override Expression VisitBinary(BinaryExpression expression)
Protected Overrides Function VisitBinary(expression As BinaryExpression) As Expression
Parameters
expression
System.Linq.Expressions.BinaryExpression System.Linq.Expressions.BinaryExpression

The binary expression to visit.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitColumn(ColumnExpression) VisitColumn(ColumnExpression)

Visits a ColumnExpression.

public virtual Expression VisitColumn(ColumnExpression columnExpression)
Public Overridable Function VisitColumn(columnExpression As ColumnExpression) As Expression
Parameters
columnExpression
ColumnExpression ColumnExpression

The column expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitConditional(ConditionalExpression) VisitConditional(ConditionalExpression)

Visit a ConditionalExpression.

protected override Expression VisitConditional(ConditionalExpression expression)
Protected Overrides Function VisitConditional(expression As ConditionalExpression) As Expression
Parameters
expression
System.Linq.Expressions.ConditionalExpression System.Linq.Expressions.ConditionalExpression

The conditional expression to visit.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitConstant(ConstantExpression) VisitConstant(ConstantExpression)

Visits a ConstantExpression.

protected override Expression VisitConstant(ConstantExpression expression)
Protected Overrides Function VisitConstant(expression As ConstantExpression) As Expression
Parameters
expression
System.Linq.Expressions.ConstantExpression System.Linq.Expressions.ConstantExpression

The constant expression to visit.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitCount(CountExpression) VisitCount(CountExpression)

Visit a CountExpression

public virtual Expression VisitCount(CountExpression countExpression)
Public Overridable Function VisitCount(countExpression As CountExpression) As Expression
Parameters
countExpression
CountExpression CountExpression

The count expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitCrossJoin(CrossJoinExpression) VisitCrossJoin(CrossJoinExpression)

Visit a CrossJoin expression.

public virtual Expression VisitCrossJoin(CrossJoinExpression crossJoinExpression)
Public Overridable Function VisitCrossJoin(crossJoinExpression As CrossJoinExpression) As Expression
Parameters
crossJoinExpression
CrossJoinExpression CrossJoinExpression

The cross join expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitExists(ExistsExpression) VisitExists(ExistsExpression)

Visit an ExistsExpression.

public virtual Expression VisitExists(ExistsExpression existsExpression)
Public Overridable Function VisitExists(existsExpression As ExistsExpression) As Expression
Parameters
existsExpression
ExistsExpression ExistsExpression

The exists expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitExplicitCast(ExplicitCastExpression) VisitExplicitCast(ExplicitCastExpression)

Visit a SQL ExplicitCastExpression.

public virtual Expression VisitExplicitCast(ExplicitCastExpression explicitCastExpression)
Public Overridable Function VisitExplicitCast(explicitCastExpression As ExplicitCastExpression) As Expression
Parameters
explicitCastExpression
ExplicitCastExpression ExplicitCastExpression

The explicit cast expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitFromSql(FromSqlExpression) VisitFromSql(FromSqlExpression)

Visit a FromSqlExpression.

public virtual Expression VisitFromSql(FromSqlExpression fromSqlExpression)
Public Overridable Function VisitFromSql(fromSqlExpression As FromSqlExpression) As Expression
Parameters
fromSqlExpression
FromSqlExpression FromSqlExpression

The FromSql expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitIn(InExpression) VisitIn(InExpression)

Visit an InExpression.

public virtual Expression VisitIn(InExpression inExpression)
Public Overridable Function VisitIn(inExpression As InExpression) As Expression
Parameters
inExpression
InExpression InExpression

The in expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitInnerJoin(InnerJoinExpression) VisitInnerJoin(InnerJoinExpression)

Visit an InnerJoinExpression.

public virtual Expression VisitInnerJoin(InnerJoinExpression innerJoinExpression)
Public Overridable Function VisitInnerJoin(innerJoinExpression As InnerJoinExpression) As Expression
Parameters
innerJoinExpression
InnerJoinExpression InnerJoinExpression

The inner join expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitIsNotNull(IsNullExpression) VisitIsNotNull(IsNullExpression)

Visits an IsNotNullExpression.

public virtual Expression VisitIsNotNull(IsNullExpression isNotNullExpression)
Public Overridable Function VisitIsNotNull(isNotNullExpression As IsNullExpression) As Expression
Parameters
isNotNullExpression
IsNullExpression IsNullExpression

The is not null expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitIsNull(IsNullExpression) VisitIsNull(IsNullExpression)

Visits an IsNullExpression.

public virtual Expression VisitIsNull(IsNullExpression isNullExpression)
Public Overridable Function VisitIsNull(isNullExpression As IsNullExpression) As Expression
Parameters
isNullExpression
IsNullExpression IsNullExpression

The is null expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitLateralJoin(LateralJoinExpression) VisitLateralJoin(LateralJoinExpression)

Visit a LateralJoin expression.

public virtual Expression VisitLateralJoin(LateralJoinExpression lateralJoinExpression)
Public Overridable Function VisitLateralJoin(lateralJoinExpression As LateralJoinExpression) As Expression
Parameters
lateralJoinExpression
LateralJoinExpression LateralJoinExpression

The lateral join expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitLeftOuterJoin(LeftOuterJoinExpression) VisitLeftOuterJoin(LeftOuterJoinExpression)

Visit an LeftOuterJoinExpression.

public virtual Expression VisitLeftOuterJoin(LeftOuterJoinExpression leftOuterJoinExpression)
Public Overridable Function VisitLeftOuterJoin(leftOuterJoinExpression As LeftOuterJoinExpression) As Expression
Parameters
leftOuterJoinExpression
LeftOuterJoinExpression LeftOuterJoinExpression

The left outer join expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitLike(LikeExpression) VisitLike(LikeExpression)

Visit a LikeExpression.

public virtual Expression VisitLike(LikeExpression likeExpression)
Public Overridable Function VisitLike(likeExpression As LikeExpression) As Expression
Parameters
likeExpression
LikeExpression LikeExpression

The like expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitMax(MaxExpression) VisitMax(MaxExpression)

Visit a MaxExpression.

public virtual Expression VisitMax(MaxExpression maxExpression)
Public Overridable Function VisitMax(maxExpression As MaxExpression) As Expression
Parameters
maxExpression
MaxExpression MaxExpression

The max expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitMin(MinExpression) VisitMin(MinExpression)

Visit a MinExpression.

public virtual Expression VisitMin(MinExpression minExpression)
Public Overridable Function VisitMin(minExpression As MinExpression) As Expression
Parameters
minExpression
MinExpression MinExpression

The min expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitNotIn(InExpression) VisitNotIn(InExpression)

Visit a negated InExpression.

protected virtual Expression VisitNotIn(InExpression inExpression)
Protected Overridable Function VisitNotIn(inExpression As InExpression) As Expression
Parameters
inExpression
InExpression InExpression

The in expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitParameter(ParameterExpression) VisitParameter(ParameterExpression)

Visits a ParameterExpression.

protected override Expression VisitParameter(ParameterExpression parameterExpression)
Protected Overrides Function VisitParameter(parameterExpression As ParameterExpression) As Expression
Parameters
parameterExpression
System.Linq.Expressions.ParameterExpression System.Linq.Expressions.ParameterExpression

The parameter expression to visit.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitProjection(IReadOnlyList) VisitProjection(IReadOnlyList(Of Expression))

Visit the projection.

protected virtual void VisitProjection(IReadOnlyList<Expression> projections)
Protected Overridable Sub VisitProjection(projections As IReadOnlyList(Of Expression))
Parameters
projections
System.Collections.Generic.IReadOnlyList<System.Linq.Expressions.Expression> System.Collections.Generic.IReadOnlyList(Of System.Linq.Expressions.Expression)

The projection expression.

VisitPropertyParameter(PropertyParameterExpression) VisitPropertyParameter(PropertyParameterExpression)

Visits a PropertyParameterExpression.

public virtual Expression VisitPropertyParameter(PropertyParameterExpression propertyParameterExpression)
Public Overridable Function VisitPropertyParameter(propertyParameterExpression As PropertyParameterExpression) As Expression
Parameters
propertyParameterExpression
PropertyParameterExpression PropertyParameterExpression

The property parameter expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitSelect(SelectExpression) VisitSelect(SelectExpression)

Visit a top-level SelectExpression.

public virtual Expression VisitSelect(SelectExpression selectExpression)
Public Overridable Function VisitSelect(selectExpression As SelectExpression) As Expression
Parameters
selectExpression
SelectExpression SelectExpression

The select expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitSqlFunction(SqlFunctionExpression) VisitSqlFunction(SqlFunctionExpression)

Visits a SqlFunctionExpression.

public virtual Expression VisitSqlFunction(SqlFunctionExpression sqlFunctionExpression)
Public Overridable Function VisitSqlFunction(sqlFunctionExpression As SqlFunctionExpression) As Expression
Parameters
sqlFunctionExpression
SqlFunctionExpression SqlFunctionExpression

The SQL function expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitStringCompare(StringCompareExpression) VisitStringCompare(StringCompareExpression)

Visit a StringCompareExpression.

public virtual Expression VisitStringCompare(StringCompareExpression stringCompareExpression)
Public Overridable Function VisitStringCompare(stringCompareExpression As StringCompareExpression) As Expression
Parameters
stringCompareExpression
StringCompareExpression StringCompareExpression

The string compare expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitSum(SumExpression) VisitSum(SumExpression)

Visit a SumExpression.

public virtual Expression VisitSum(SumExpression sumExpression)
Public Overridable Function VisitSum(sumExpression As SumExpression) As Expression
Parameters
sumExpression
SumExpression SumExpression

The sum expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitTable(TableExpression) VisitTable(TableExpression)

Visit a TableExpression.

public virtual Expression VisitTable(TableExpression tableExpression)
Public Overridable Function VisitTable(tableExpression As TableExpression) As Expression
Parameters
tableExpression
TableExpression TableExpression

The table expression.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.

VisitUnary(UnaryExpression) VisitUnary(UnaryExpression)

Visits a UnaryExpression.

protected override Expression VisitUnary(UnaryExpression expression)
Protected Overrides Function VisitUnary(expression As UnaryExpression) As Expression
Parameters
expression
System.Linq.Expressions.UnaryExpression System.Linq.Expressions.UnaryExpression

The unary expression to visit.

Returns
System.Linq.Expressions.Expression System.Linq.Expressions.Expression

An Expression.