Class QueryableProviderBase
Base class for IQueryableProvider implementations.
Contains all common logic for creating LINQ queries.
DB-specific implementations provide concrete query providers via factory methods.
public abstract class QueryableProviderBase : IQueryableProvider
Inheritance
Implements
Derived
Methods
CreateEmptyTreeQuery<TProps>(long, long?, bool)
Create empty tree query (for null rootObject case).
protected abstract IRedbQueryable<TProps> CreateEmptyTreeQuery<TProps>(long schemeId, long? userId, bool checkPermissions) where TProps : class, new()
CreateMultiRootTreeQuery<TProps>(long, long?, bool, List<IRedbObject>, int?)
Create tree query for multiple root objects.
protected abstract IRedbQueryable<TProps> CreateMultiRootTreeQuery<TProps>(long schemeId, long? userId, bool checkPermissions, List<IRedbObject> rootObjects, int? maxDepth) where TProps : class, new()
CreateMultiRootTreeQueryByIds<TProps>(long, long?, bool, IEnumerable<long>, int?)
Create tree query for multiple root object IDs.
protected abstract IRedbQueryable<TProps> CreateMultiRootTreeQueryByIds<TProps>(long schemeId, long? userId, bool checkPermissions, IEnumerable<long> rootObjectIds, int? maxDepth) where TProps : class, new()
CreateQuery<TProps>(long, long?, bool)
Create DB-specific query provider for flat queries.
protected abstract IRedbQueryable<TProps> CreateQuery<TProps>(long schemeId, long? userId, bool checkPermissions) where TProps : class, new()
CreateTreeQuery<TProps>(long, long?, bool, long?, int?)
Create DB-specific query provider for tree queries.
protected abstract IRedbQueryable<TProps> CreateTreeQuery<TProps>(long schemeId, long? userId, bool checkPermissions, long? rootObjectId, int? maxDepth) where TProps : class, new()
Query<TProps>()
Create type-safe query by type (synchronous).
public IRedbQueryable<TProps> Query<TProps>() where TProps : class, new()
Query<TProps>(IRedbUser)
Create type-safe query by type with specified user (synchronous).
public IRedbQueryable<TProps> Query<TProps>(IRedbUser user) where TProps : class, new()
TreeQuery<TProps>()
Create type-safe tree query by type (synchronous).
public IRedbQueryable<TProps> TreeQuery<TProps>() where TProps : class, new()
TreeQuery<TProps>(IEnumerable<IRedbObject>, int?)
Create tree query limited to subtrees of object list (synchronous).
public IRedbQueryable<TProps> TreeQuery<TProps>(IEnumerable<IRedbObject> rootObjects, int? maxDepth = null) where TProps : class, new()
TreeQuery<TProps>(IEnumerable<IRedbObject>, IRedbUser, int?)
Create tree query limited to subtrees of object list with specified user (synchronous).
public IRedbQueryable<TProps> TreeQuery<TProps>(IEnumerable<IRedbObject> rootObjects, IRedbUser user, int? maxDepth = null) where TProps : class, new()
TreeQuery<TProps>(IEnumerable<long>, int?)
Create tree query limited to subtrees by ID list (synchronous).
public IRedbQueryable<TProps> TreeQuery<TProps>(IEnumerable<long> rootObjectIds, int? maxDepth = null) where TProps : class, new()
TreeQuery<TProps>(IEnumerable<long>, IRedbUser, int?)
Create tree query limited to subtrees by ID list with specified user (synchronous).
public IRedbQueryable<TProps> TreeQuery<TProps>(IEnumerable<long> rootObjectIds, IRedbUser user, int? maxDepth = null) where TProps : class, new()
TreeQuery<TProps>(IRedbObject?, int?)
Create tree query limited to subtree (synchronous).
public IRedbQueryable<TProps> TreeQuery<TProps>(IRedbObject? rootObject, int? maxDepth = null) where TProps : class, new()
TreeQuery<TProps>(IRedbObject?, IRedbUser, int?)
Create tree query limited to subtree with specified user (synchronous).
public IRedbQueryable<TProps> TreeQuery<TProps>(IRedbObject? rootObject, IRedbUser user, int? maxDepth = null) where TProps : class, new()
TreeQuery<TProps>(IRedbUser)
Create type-safe tree query by type with specified user (synchronous).
public IRedbQueryable<TProps> TreeQuery<TProps>(IRedbUser user) where TProps : class, new()
TreeQuery<TProps>(long, int?)
Create tree query limited to subtree (synchronous, by ID).
public IRedbQueryable<TProps> TreeQuery<TProps>(long rootObjectId, int? maxDepth = null) where TProps : class, new()
TreeQuery<TProps>(long, IRedbUser, int?)
Create tree query limited to subtree with specified user (synchronous, by ID).
public IRedbQueryable<TProps> TreeQuery<TProps>(long rootObjectId, IRedbUser user, int? maxDepth = null) where TProps : class, new()