Table of Contents

Interface IQueryRegistry

Namespace
NextORM.Core
Assembly
nextorm.core.dll

Registry of the queries, outer references and plan-equality comparers that make up a query scope.

public interface IQueryRegistry
Extension Methods

Remarks

It coordinates the plan cache (query registrations, outer references and comparer instances) rather than building queries, so it is deliberately named IQueryRegistry to avoid the collision with IQueryProvider.

Properties

OuterReferences

The outer expressions captured by the current query, or null when there are none.

IReadOnlyList<Expression>? OuterReferences { get; }

Property Value

IReadOnlyList<Expression>

ReferencedQueries

The queries referenced by the current query, indexed by the reference markers in its expressions.

IReadOnlyList<QueryCommand> ReferencedQueries { get; }

Property Value

IReadOnlyList<QueryCommand>

Methods

AddCommand(QueryCommand)

Registers cmd as a referenced query and returns its zero-based index within ReferencedQueries.

int AddCommand(QueryCommand cmd)

Parameters

cmd QueryCommand

The command to reference.

Returns

int

AddOuterReference(Expression)

Registers an outer expression and returns its zero-based index within OuterReferences.

int AddOuterReference(Expression node)

Parameters

node Expression

The outer expression to capture.

Returns

int

GetExpressionPlanEqualityComparer()

Returns the comparer used to compare expression plans.

ExpressionPlanEqualityComparer GetExpressionPlanEqualityComparer()

Returns

ExpressionPlanEqualityComparer

GetFromExpressionPlanEqualityComparer()

Returns the comparer used to compare FROM-source plans.

FromExpressionPlanEqualityComparer GetFromExpressionPlanEqualityComparer()

Returns

FromExpressionPlanEqualityComparer

GetJoinExpressionPlanEqualityComparer()

Returns the comparer used to compare join-expression plans.

JoinExpressionPlanEqualityComparer GetJoinExpressionPlanEqualityComparer()

Returns

JoinExpressionPlanEqualityComparer

GetQueryPlanEqualityComparer()

Returns the comparer used to key whole query plans in the plan cache.

QueryPlanEqualityComparer GetQueryPlanEqualityComparer()

Returns

QueryPlanEqualityComparer

GetSelectExpressionPlanEqualityComparer()

Returns the comparer used to compare select-list plans.

SelectExpressionPlanEqualityComparer GetSelectExpressionPlanEqualityComparer()

Returns

SelectExpressionPlanEqualityComparer

GetSortingExpressionPlanEqualityComparer()

Returns the comparer used to compare sorting-expression plans.

SortingExpressionPlanEqualityComparer GetSortingExpressionPlanEqualityComparer()

Returns

SortingExpressionPlanEqualityComparer