Class SelectExpressionPlanEqualityComparer
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
queryProviderIQueryRegistryThe registry that supplies the expression plan comparer.
SelectExpressionPlanEqualityComparer(IQueryRegistry, ILogger?)
Initializes a comparer.
public SelectExpressionPlanEqualityComparer(IQueryRegistry queryProvider, ILogger? logger)
Parameters
queryProviderIQueryRegistryThe registry that supplies the expression plan comparer.
loggerILoggerAn 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
xSelectExpressionThe first column.
ySelectExpressionThe second column.
Returns
- bool
truewhen 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
objSelectExpressionThe column to hash.
Returns
- int
The hash code, or zero when
objisnull.