Table of Contents

Class SelectExpressionPlanEqualityComparer

Namespace
NextORM.Core
Assembly
nextorm.core.dll

Compares and hashes projected columns for query-plan caching, taking the column ordinal, target property, null-defaulting flag and source expression into account.

public sealed class SelectExpressionPlanEqualityComparer : IEqualityComparer<SelectExpression>
Inheritance
SelectExpressionPlanEqualityComparer
Implements
Inherited Members
Extension Methods

Constructors

SelectExpressionPlanEqualityComparer(IQueryRegistry)

Initializes a comparer without a logger.

public SelectExpressionPlanEqualityComparer(IQueryRegistry queryProvider)

Parameters

queryProvider IQueryRegistry

The registry that supplies the expression plan comparer.

SelectExpressionPlanEqualityComparer(IQueryRegistry, ILogger?)

Initializes a comparer.

public SelectExpressionPlanEqualityComparer(IQueryRegistry queryProvider, ILogger? logger)

Parameters

queryProvider IQueryRegistry

The registry that supplies the expression plan comparer.

logger ILogger

An optional logger; currently unused.

Methods

Equals(SelectExpression?, SelectExpression?)

Determines whether two projected columns are equal for plan-cache purposes.

public bool Equals(SelectExpression? x, SelectExpression? y)

Parameters

x SelectExpression

The first column.

y SelectExpression

The second column.

Returns

bool

true when both columns describe the same projection.

GetHashCode(SelectExpression)

Returns a hash code for a projected column consistent with the equality comparison.

public int GetHashCode(SelectExpression obj)

Parameters

obj SelectExpression

The column to hash.

Returns

int

The hash code, or zero when obj is null.