API Reference
Browse the REDB API documentation. Select a namespace or type from the tree on the left, or click on items below.
Search results for: TreeQuery
Clear search
E096_TreeQuery
redb.Examples.Examples
E097_TreeQueryRoots
redb.Examples.Examples
E098_TreeQueryLeaves
redb.Examples.Examples
E099_TreeQueryLevel
redb.Examples.Examples
E105_TreeQueryWithRoot
redb.Examples.Examples
E106_TreeQueryChildrenOf
redb.Examples.Examples
E107_TreeQueryMultiRoot
redb.Examples.Examples
E160_TreeQueryExpressions
redb.Examples.Examples
E173_TreeQueryGroupBy
redb.Examples.Examples
E174_TreeQueryWindow
redb.Examples.Examples
E175_TreeQueryGroupByWindow
redb.Examples.Examples
IQueryableProvider
redb.Core.Providers
TreeQuery<TProps>()
Create type-safe tree query by type (synchronous).
TreeQuery<TProps>(IEnumerable<IRedbObject>, int?)
Create tree query limited to subtrees of object list (synchronous).
TreeQuery<TProps>(IEnumerable<IRedbObject>, IRedbUser, int?)
Create tree query limited to subtrees of object list with specified user (synchronous).
TreeQuery<TProps>(IEnumerable<long>, int?)
Create tree query limited to subtrees by ID list (synchronous).
TreeQuery<TProps>(IEnumerable<long>, IRedbUser, int?)
Create tree query limited to subtrees by ID list with specified user (synchronous).
TreeQuery<TProps>(IRedbObject?, int?)
Create tree query limited to subtree (synchronous).
TreeQuery<TProps>(IRedbObject?, IRedbUser, int?)
Create tree query limited to subtree with specified user (synchronous).
TreeQuery<TProps>(IRedbUser)
Create type-safe tree query by type with specified user (synchronous).
TreeQuery<TProps>(long, int?)
Create tree query limited to subtree (synchronous, by ID).
TreeQuery<TProps>(long, IRedbUser, int?)
Create tree query limited to subtree with specified user (synchronous, by ID).
ITreeQueryProvider
redb.Core.Query
CreateTreeQuery<TProps>(long, long?, bool, long?, int?)
Create tree query with hierarchical constraint support.
ExecuteTreeGroupedAggregateAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
Execute GROUP BY aggregation with tree context (CTE for tree traversal).
ExecuteTreeGroupedWindowQueryAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>)
Execute GroupBy + Window Functions with tree context.
ExecuteTreeWindowQueryAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>, string?)
Execute Window Functions query with tree context (CTE for tree traversal).
GetTreeGroupBySqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
Get SQL preview for tree GROUP BY query (for debugging).
GetTreeGroupedWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>)
Get SQL preview for tree GroupBy + Window query.
GetTreeWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>, string?)
Get SQL preview for tree window query (for debugging).
MssqlQueryableProvider
redb.MSSql.Providers
CreateEmptyTreeQuery<TProps>(long, long?, bool)
Create empty tree query (for null rootObject case).
CreateMultiRootTreeQuery<TProps>(long, long?, bool, List<IRedbObject>, int?)
Create tree query for multiple root objects.
CreateMultiRootTreeQueryByIds<TProps>(long, long?, bool, IEnumerable<long>, int?)
Create tree query for multiple root object IDs.
CreateTreeQuery<TProps>(long, long?, bool, long?, int?)
Create DB-specific query provider for tree queries.
MssqlTreeQueryable<TProps>
redb.MSSql.Query
CreateInstance(TreeQueryContext<TProps>)
Creates a new instance with the specified context.
MssqlTreeQueryProvider
redb.MSSql.Query
PostgresQueryableProvider
redb.Postgres.Providers
CreateEmptyTreeQuery<TProps>(long, long?, bool)
Create empty tree query (for null rootObject case).
CreateMultiRootTreeQuery<TProps>(long, long?, bool, List<IRedbObject>, int?)
Create tree query for multiple root objects.
CreateMultiRootTreeQueryByIds<TProps>(long, long?, bool, IEnumerable<long>, int?)
Create tree query for multiple root object IDs.
CreateTreeQuery<TProps>(long, long?, bool, long?, int?)
Create DB-specific query provider for tree queries.
PostgresTreeQueryable<TProps>
redb.Postgres.Query
CreateInstance(TreeQueryContext<TProps>)
Creates a new instance with the specified context.
PostgresTreeQueryProvider
redb.Postgres.Query
ProQueryableProvider
redb.MSSql.Pro.Providers
CreateMultiRootTreeQuery<TProps>(long, long?, bool, List<IRedbObject>, int?)
Override: MultiRoot TreeQuery also uses ProTreeQueryProvider.
CreateMultiRootTreeQueryByIds<TProps>(long, long?, bool, IEnumerable<long>, int?)
Override: MultiRoot TreeQuery by IDs also uses ProTreeQueryProvider.
CreateTreeQuery<TProps>(long, long?, bool, long?, int?)
Override: Uses ProTreeQueryProvider instead of MSSqlTreeQueryProvider.
ProQueryableProvider
redb.Postgres.Pro.Providers
CreateMultiRootTreeQuery<TProps>(long, long?, bool, List<IRedbObject>, int?)
Override: MultiRoot TreeQuery also uses ProTreeQueryProvider.
CreateMultiRootTreeQueryByIds<TProps>(long, long?, bool, IEnumerable<long>, int?)
Override: MultiRoot TreeQuery by IDs also uses ProTreeQueryProvider.
CreateTreeQuery<TProps>(long, long?, bool, long?, int?)
Override: Uses ProTreeQueryProvider instead of PostgresTreeQueryProvider.
ProTreeQueryProvider
redb.MSSql.Pro.Query
ExecuteTreeAggregateAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<AggregateRequest>)
Execute tree aggregation with CTE.
ExecuteTreeCountAsync<TProps>(TreeQueryContext<TProps>)
⚡ Pro Override: Tree Count via CTE + pvt.
ExecuteTreeGroupByAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
Execute GROUP BY on tree with CTE.
ExecuteTreeGroupedAggregateAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
ITreeQueryProvider implementation: Execute GROUP BY with tree context.
ExecuteTreeGroupedWindowQueryAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>)
Execute GroupBy + Window with tree context.
ExecuteTreeToListAsync<TProps>(TreeQueryContext<TProps>)
⚡ Pro Override: Tree ToList via CTE + pvt.
ExecuteTreeWindowAsync<TProps>(TreeQueryContext<TProps>, string, string, string, string, string?)
Execute Window Functions on tree with CTE (legacy JSON version).
ExecuteTreeWindowQueryAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>, string?)
Execute Window Functions on tree with CTE (interface implementation).
GetSqlPreviewAsync<TProps>(TreeQueryContext<TProps>)
Pro: Tree SQL Preview (DRY - uses BuildTreeQuerySqlAsync)
GetTreeAggregateSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<AggregateRequest>)
SQL Preview for Tree Aggregate (DRY - same SQL as Execute)
GetTreeGroupBySqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
SQL Preview for Tree GroupBy (DRY - same SQL as Execute)
GetTreeGroupedWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>)
Get SQL preview for tree GroupBy + Window.
GetTreeWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>, string?)
SQL Preview for Tree Window (typed interface version).
GetTreeWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, string, string, string, string, string?)
SQL Preview for Tree Window (DRY - same SQL as Execute)
ProTreeQueryProvider
redb.Postgres.Pro.Query
ExecuteTreeAggregateAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<AggregateRequest>)
Execute tree aggregation with CTE.
ExecuteTreeCountAsync<TProps>(TreeQueryContext<TProps>)
⚡ Pro Override: Tree Count via CTE + PVT.
ExecuteTreeGroupByAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
Execute GROUP BY on tree with CTE.
ExecuteTreeGroupedAggregateAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
ITreeQueryProvider implementation: Execute GROUP BY with tree context.
ExecuteTreeGroupedWindowQueryAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>)
Execute Tree GroupBy + Window query.
ExecuteTreeToListAsync<TProps>(TreeQueryContext<TProps>)
⚡ Pro Override: Tree ToList via CTE + PVT.
ExecuteTreeWindowAsync<TProps>(TreeQueryContext<TProps>, string, string, string, string, string?)
Execute Window Functions on tree with CTE (legacy JSON version).
ExecuteTreeWindowQueryAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>, string?)
Execute Window Functions on tree with CTE (interface implementation).
GetSqlPreviewAsync<TProps>(TreeQueryContext<TProps>)
Pro: Tree SQL Preview (DRY - uses BuildTreeQuerySqlAsync)
GetTreeAggregateSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<AggregateRequest>)
SQL Preview for Tree Aggregate (DRY - same SQL as Execute)
GetTreeGroupBySqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
SQL Preview for Tree GroupBy (DRY - same SQL as Execute)
GetTreeGroupedWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>)
SQL preview for Tree GroupBy + Window.
GetTreeWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>, string?)
SQL Preview for Tree Window (typed interface version).
GetTreeWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, string, string, string, string, string?)
SQL Preview for Tree Window (DRY - same SQL as Execute)
QueryableProviderBase
redb.Core.Providers.Base
CreateEmptyTreeQuery<TProps>(long, long?, bool)
Create empty tree query (for null rootObject case).
CreateMultiRootTreeQuery<TProps>(long, long?, bool, List<IRedbObject>, int?)
Create tree query for multiple root objects.
CreateMultiRootTreeQueryByIds<TProps>(long, long?, bool, IEnumerable<long>, int?)
Create tree query for multiple root object IDs.
CreateTreeQuery<TProps>(long, long?, bool, long?, int?)
Create DB-specific query provider for tree queries.
TreeQuery<TProps>()
Create type-safe tree query by type (synchronous).
TreeQuery<TProps>(IEnumerable<IRedbObject>, int?)
Create tree query limited to subtrees of object list (synchronous).
TreeQuery<TProps>(IEnumerable<IRedbObject>, IRedbUser, int?)
Create tree query limited to subtrees of object list with specified user (synchronous).
TreeQuery<TProps>(IEnumerable<long>, int?)
Create tree query limited to subtrees by ID list (synchronous).
TreeQuery<TProps>(IEnumerable<long>, IRedbUser, int?)
Create tree query limited to subtrees by ID list with specified user (synchronous).
TreeQuery<TProps>(IRedbObject?, int?)
Create tree query limited to subtree (synchronous).
TreeQuery<TProps>(IRedbObject?, IRedbUser, int?)
Create tree query limited to subtree with specified user (synchronous).
TreeQuery<TProps>(IRedbUser)
Create type-safe tree query by type with specified user (synchronous).
TreeQuery<TProps>(long, int?)
Create tree query limited to subtree (synchronous, by ID).
TreeQuery<TProps>(long, IRedbUser, int?)
Create tree query limited to subtree with specified user (synchronous, by ID).
RedbServiceBase
redb.Core
TreeQuery<TProps>()
Create type-safe tree query by type (synchronous).
TreeQuery<TProps>(IEnumerable<IRedbObject>, int?)
Create tree query limited to subtrees of object list (synchronous).
TreeQuery<TProps>(IEnumerable<IRedbObject>, IRedbUser, int?)
Create tree query limited to subtrees of object list with specified user (synchronous).
TreeQuery<TProps>(IEnumerable<long>, int?)
Create tree query limited to subtrees by ID list (synchronous).
TreeQuery<TProps>(IEnumerable<long>, IRedbUser, int?)
Create tree query limited to subtrees by ID list with specified user (synchronous).
TreeQuery<TProps>(IRedbObject?, int?)
Create tree query limited to subtree (synchronous).
TreeQuery<TProps>(IRedbObject?, IRedbUser, int?)
Create tree query limited to subtree with specified user (synchronous).
TreeQuery<TProps>(IRedbUser)
Create type-safe tree query by type with specified user (synchronous).
TreeQuery<TProps>(long, int?)
Create tree query limited to subtree (synchronous, by ID).
TreeQuery<TProps>(long, IRedbUser, int?)
Create tree query limited to subtree with specified user (synchronous, by ID).
TreeGroupedQueryable<TKey, TProps>
redb.Core.Query.Grouping
TreeGroupedWindowedQueryable<TKey, TProps>
redb.Core.Query.Grouping
TreeQueryableBase<TProps>
redb.Core.Query.Base
CreateInstance(TreeQueryContext<TProps>)
Creates a new instance with the specified context. Override in derived classes.
TreeQueryContext<TProps>
redb.Core.Query.Base
TreeQueryProviderBase
redb.Core.Query.Base
CreateTreeQuery<TProps>(long, long?, bool, long?, int?)
Create tree query with hierarchical constraint support.
CreateTreeQueryable<TProps>(TreeQueryContext<TProps>)
Creates tree queryable instance. Override in derived classes.
ExecuteOptimizedWhereHasAncestor<TProps>(TreeQueryContext<TProps>, TreeFilter)
Optimized execution of WhereHasAncestor through logic inversion:
ExecuteOptimizedWhereHasDescendant<TProps>(TreeQueryContext<TProps>, TreeFilter)
Optimized execution of WhereHasDescendant through logic inversion:
ExecuteTreeCountAsync<TProps>(TreeQueryContext<TProps>)
Execute COUNT for tree query through search_tree_objects_with_facets
ExecuteTreeGroupedAggregateAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
Execute GROUP BY with tree context (CTE for tree traversal).
ExecuteTreeGroupedWindowQueryAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>)
Execute GroupBy + Window with tree context.
ExecuteTreeToListAsync<TProps>(TreeQueryContext<TProps>)
Execute ToList for tree query through search_tree_objects_with_facets
ExecuteTreeWindowQueryAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>, string?)
Execute Window Functions with tree context.
GetOptimizableHasAncestorFilter<TProps>(TreeQueryContext<TProps>)
Determines if WhereHasAncestor can be optimized through logic inversion
GetOptimizableHasDescendantFilter<TProps>(TreeQueryContext<TProps>)
Determines if WhereHasDescendant can be optimized through logic inversion
GetSqlPreviewAsync<TProps>(TreeQueryContext<TProps>)
Returns SQL query for tree search that will be executed (for debugging)
GetTreeGroupBySqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>)
Get SQL preview for tree GROUP BY query.
GetTreeGroupedWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<GroupFieldRequest>, IEnumerable<AggregateRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>)
Get SQL preview for tree GroupBy + Window.
GetTreeWindowSqlPreviewAsync<TProps>(TreeQueryContext<TProps>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowFuncRequest>, IEnumerable<WindowFieldRequest>, IEnumerable<WindowOrderRequest>, string?)
Get SQL preview for tree window query.
ShouldUseLazyLoading<TProps>(TreeQueryContext<TProps>)
Determines if lazy loading should be used for tree query.
TreeQuerySqlResult
redb.MSSql.Pro.Query
TreeQuerySqlResult(string, SqlParameterCollector, string?)
Result of SQL generation for Tree Query
TreeQuerySqlResult
redb.Postgres.Pro.Query
TreeQuerySqlResult(string, SqlParameterCollector, string?)
Result of SQL generation for Tree Query
TreeWindowedQueryable<TProps>
redb.Core.Query.Window
TreeWindowedQueryable(ITreeQueryProvider, TreeQueryContext<TProps>, string?, WindowSpec<TProps>)
Creates tree-aware windowed queryable.