RedBase Documentation

Welcome to the RedBase documentation portal. Browse the API reference, explore code examples, and learn how to build with REDB.

API Reference

Browse the REDB API documentation. Select a namespace or type from the tree on the left, or click on items below.

redb.CLI

Classes

C Program REDB CLI - Command line tool for database export/import operations.

redb.Core

Classes

C RedbServiceBase Base abstract class for RedbService implementations.

Interfaces

I IRedbService Main REDB service interface - composition of all providers.

redb.Core.Attributes

Classes

C RedbAliasAttribute Attribute for specifying a human-readable alias
C RedbIgnoreAttribute Excludes a property from the REDB schema (but not from JSON serialization)
C RedbSchemeAttribute Attribute for configuring the REDB schema for a properties class

redb.Core.Caching

Classes

C CacheDiagnosticInfo Cache diagnostic information.
C CacheExportData Exported cache state for analysis.
C CacheStatistics Cache statistics.
C CompleteSchemeMetadata Complete scheme metadata including scheme, structures and types.
C CompositeMetadataCacheStatistics Composite cache summary statistics.
C DetailedCacheStatistics Detailed statistics by cache component.
C GlobalListCache Domain-isolated cache for lists and their items.
C GlobalMetadataCache Metadata cache with domain isolation.
C GlobalPropsCache Domain-isolated cache for WHOLE RedbObject (not just Props!).
C MemoryRedbObjectCache In-memory cache implementation for WHOLE RedbObject (not just Props!).
C MemoryUsageInfo Cache memory usage information.
C PerformanceInfo Cache performance information.
C PropsCacheStatistics Props object cache statistics.
C RedbTypeInfo Type information for caching (DB types, not CLR types).
C SchemeCacheStatistics Scheme cache statistics.
C StaticCacheStatistics Static cache statistics.
C StaticMetadataCache Static metadata cache implementation.
C StructureCacheStatistics Structure cache statistics.
C TopUsedScheme Top used scheme information.
C TypeCacheStatistics Type cache statistics.
C TypeUsageInfo Type usage information.
C UserCacheStats User cache statistics.

Interfaces

I ICompositeMetadataCache Composite metadata cache combining schemes, structures and types.
I IRedbObjectCache Interface for caching WHOLE RedbObject objects (not just Props!)
I ISchemeMetadataCache Specialized cache for object schemes.
I IStaticMetadataCache Interface for static metadata cache in RedbObject.
I IStructureMetadataCache Specialized cache for field structures.
I ITypeMetadataCache Specialized cache for data types.

Enums

E CacheHealthStatus Cache health status enumeration.

redb.Core.Configuration

Classes

C ConfigurationExtensions Extension methods for integrating RedbServiceConfiguration with IConfiguration
C DefaultUserConfigurationInitializer Default user configuration initializer.
C EavSaveStrategyJsonConverter JsonConverter for EavSaveStrategy
C MissingObjectStrategyJsonConverter JsonConverter for MissingObjectStrategy
C ObjectIdResetStrategyJsonConverter JsonConverter for ObjectIdResetStrategy
C RedbConfigurationJsonOptions JsonSerializer settings for RedbService configuration
C RedbServiceConfigurationValidator RedbService configuration validator for integration with Options pattern
C RedbServiceConfigurationValidatorWithAutoFix Extended validator with auto-fix support
C ScenarioBasedConfigurationValidator Validator for specific usage scenarios
C ServiceCollectionExtensions Extension methods for registering RedbService in DI container.
C UserConfigurationService Database-agnostic implementation of IUserConfigurationService.

Interfaces

I IRedbServiceConfigurationMonitor Interface for configuration change monitoring.
I IUserConfigurationService Service for managing user configurations

Enums

E ConfigurationScenario Configuration usage scenarios

redb.Core.Data

Classes

C RedbContextBase Base class for REDB context.
C RedbKeyGeneratorBase Base class for key generation with caching.

Interfaces

I IBulkOperations Bulk operations abstraction for high-performance data operations.
I IKeyGenerator Key generator abstraction for generating unique IDs.
I IRedbConnection Database connection abstraction for REDB.
I IRedbContext Main database context interface for REDB.
I IRedbTransaction Database transaction abstraction for REDB.

redb.Core.Exceptions

Classes

C ComputedExpressionAnalyzer Expression analyzer for detecting Pro-only features.
C RedbProRequiredException Exception thrown when a feature requires REDB Pro version.

Enums

E ProFeatureCategory Categories of Pro-only features for appropriate error messages.

redb.Core.Extensions

Classes

C RedbObjectExtensions Extension methods for IRedbObject for convenient work with trees and objects
C RedbOptionsBuilder Builder for configuring REDB services.
C RedbServiceCollectionExtensions Extension methods for registering REDB services.
C RedbServiceConfigurationExtensions Extension methods for working with RedbService configuration
C RedbServiceInitializationExtensions Extension methods for initializing REDB system at application startup

Interfaces

I IRedbOptionsBuilderInfrastructure Infrastructure interface for database providers and Pro extensions.

redb.Core.Materialization

Interfaces

I IPropsMaterializer Materializes Props objects from database values.

redb.Core.Models

Classes

C ChildObjectInfo Model for SQL query result when loading object children
C RedbObjectFactory Factory for creating typed RedbObject<TProps> objects
C SchemeWithJson Model for optimized SQL query result

redb.Core.Models.Collections

Classes

C TreeCollection Specialized collection for working with tree-structured objects
C TreeCollection<TProps> Typed version of collection for backward compatibility
C TreeCollectionStats Tree collection statistics

redb.Core.Models.Configuration

Classes

C ConfigurationSource Configuration parameter source
C ConfigurationValidationError Configuration validation error
C ConfigurationValidationResult Configuration validation result
C ConfigurationValidationWarning Configuration validation warning
C ConfigurationValidator RedbService configuration validator
C EffectiveUserConfiguration Effective user configuration (result of merging all configurations)
C JsonSerializationOptions JSON serialization settings
C PredefinedConfigurations Predefined configurations for various usage scenarios
C RedbServiceConfiguration RedbService behavior configuration.
C RedbServiceConfigurationBuilder Builder for convenient RedbService configuration setup
C UserConfigurationProps User configuration - personal settings and quotas

Enums

E ConfigurationValidationSeverity Configuration validation error severity level
E EavSaveStrategy EAV properties save strategy
E MissingObjectStrategy Strategy for handling non-existent objects on UPDATE
E ObjectIdResetStrategy Object ID handling strategy after deletion

redb.Core.Models.Contracts

Interfaces

I IRedbList REDB list interface
I IRedbListItem REDB list item interface
I IRedbObject Base interface for all REDB objects
I IRedbObject<TProps> Typed interface for REDB objects with specific properties type
I IRedbPermission REDB permission interface
I IRedbRole REDB role interface
I IRedbScheme REDB scheme interface
I IRedbSecurityContext REDB security context
I IRedbStructure REDB scheme field structure interface
I IRedbType REDB data type interface
I IRedbUser REDB user interface
I IRedbUserRole REDB user-role relationship interface
I ISchemeCacheProvider Extension of ISchemeSyncProvider with metadata cache management methods
I ITreeNode<T> Interface for tree nodes with navigational properties and traversal operations
I ITreeRedbObject Interface for REDB tree objects with navigational properties
I ITreeRedbObject<TProps> Typed interface for tree objects with specific property type.

redb.Core.Models.Entities

Classes

C RedbList REDB list entity with direct data storage (Aggregate Root).
C RedbListItem REDB list item entity with direct data storage.
C RedbObject Base class for all Redb objects with access to metadata.
C RedbObject<TProps> Generic wrapper for JSON from get_object_json with typed interface.
C RedbObjectRow POCO for _objects table.
C RedbPermission REDB permission entity with direct data storage.
C RedbRole REDB role entity with direct data storage.
C RedbScheme REDB scheme entity with direct data storage.
C RedbStructure REDB structure (field definition) entity with direct data storage.
C RedbType REDB type entity with direct data storage.
C RedbUser REDB user entity with direct data storage.
C RedbUserRole REDB user-role association entity with direct data storage.
C RedbValue REDB value entity with direct data storage.
C StructureTreeBuilder Structure tree builder from flat lists
C StructureTreeNode Structure tree node for hierarchical navigation
C TreeDiagnosticReport Structure tree diagnostic report
C TreeRedbObject Base class for REDB tree objects with hierarchy navigation
C TreeRedbObject<TProps> ARCHITECTURAL FIX: Typed version of REDB tree object

redb.Core.Models.Enums

Enums

E PermissionAction Permission actions (flags for combining)
E UserStatus User status

redb.Core.Models.Permissions

Classes

C CacheStatistics Permissions cache statistics
C EffectivePermissionResult Result of getting user's effective permissions on object
C PermissionFlagsExtensions Extensions for working with PermissionFlags
C PermissionRequest Request for creating or updating permission
C UserPermissionResult
C UserPermissionSet User permissions set for caching
C VUserPermission

Enums

E PermissionFlags Permission flags for REDB objects

redb.Core.Models.Roles

Classes

C CreateRoleRequest Request for creating new role

redb.Core.Models.Security

Classes

C AmbientSecurityContext Ambient security context (Thread-Local)
C RedbSecurityContext REDB security context implementation

redb.Core.Models.Users

Classes

C CreateUserRequest Request for creating new user
C UpdateUserRequest Request for updating user data
C UserSearchCriteria User search criteria
C UserValidationResult User data validation result
C ValidationError Validation error

Enums

E UserSortDirection User sort direction
E UserSortField Fields for sorting users

redb.Core.Pro.ChangeTracking

Classes

C TreeChange Change in data tree.
C ValueTreeBuilder Tree builder from memory and DB.
C ValueTreeDiff Tree comparison with hash optimization.
C ValueTreeNode Tree node for tree-based ChangeTracking.

Enums

E ChangeType Change type when comparing trees.

redb.Core.Pro.Extensions

Classes

C RedbProServiceCollectionExtensions Extension methods for registering REDB Pro services.

redb.Core.Pro.Licensing

Classes

C LicenseExpiredException Thrown when an educational license has expired.
C LicenseInfo License information parsed from JWT token.
C LicenseManagerWrapper Wrapper for external API. Delegates to static LicenseGuard internally.
C LicenseRequiredException Exception thrown when trial limit is exceeded and a license is required.
C LicenseValidator Validates JWT license tokens using RSA public keys from TrustedIssuers.
C TrustedIssuers Registry of trusted license issuers and their RSA public keys.

Interfaces

I ILicenseManager License manager interface for Pro features.

redb.Core.Pro.Materialization

Classes

C ProLazyPropsLoader Pro implementation of lazy Props loading with PVT materialization.
C ProPropsMaterializer Pro Props materializer with optimized algorithms.

redb.Core.Pro.Migration

Classes

C MigrationBuilder<TProps> IMigrationBuilder implementation - collects migration configurations
C MigrationDiscovery Automatic migration discovery in assemblies.
C MigrationExecutor Executes data migrations with support for dry-run, logging and history.
C MigrationExpressionCompiler Expression to SQL compiler for migrations.
C MigrationExtensions Extension methods for working with migrations.
C MigrationInfo Found migration information
C MigrationResult Migration execution result
C MigrationServiceCollectionExtensions DI registration for migration services.
C MigrationSql Migration compilation result to SQL
C PropertyMigrationBuilder<TProps, TProp> IPropertyMigrationBuilder implementation
C PropertyMigrationConfig Migration configuration for single property
C TypeChangeMigrationBuilder<TProps, TFrom, TTo> ITypeChangeMigrationBuilder implementation

Interfaces

I IMigrationBuilder<TProps> Builder for configuring property migrations.
I IPropertyMigrationBuilder<TProps, TProp> Builder for configuring migration of specific property
I IRedbMigration<TProps> Migration configuration interface for Props type.
I ITypeChangeMigrationBuilder<TProps, TFrom, TTo> Builder for configuring type conversion

Enums

E MigrationType Migration type

redb.Core.Pro.Models

Classes

C RedbMigrationRow POCO for _migrations table.
C SchemeMetadataCacheRow POCO for _scheme_metadata_cache table.

redb.Core.Pro.Providers

Classes

C ProObjectStorageProviderBase 🌳 Tree-based ChangeTracking logic (partial class).
C ProTreeProviderBase Pro base class for TreeProvider with PVT instead of get_object_json.

redb.Core.Pro.Query

Classes

C ProFilterExpressionParser Pro version of FilterExpressionParser - supports arithmetic, functions and complex expressions.
C ProSqlBuilderBase Base SQL builder for Pro version with database-agnostic methods.
C SqlParameterCollector Parameter collector for safe SQL query generation.

Interfaces

I ISqlDialectPro Pro extension of ISqlDialect with additional SQL methods for Pro features.

redb.Core.Pro.Query.Models

Classes

C CompiledPvtQuery Compiled PVT query with SQL template and metadata.

redb.Core.Pro.Schema

Classes

C SchemeFieldResolver Resolver for fields: path to field → structure_id + db_type.

redb.Core.Providers

Classes

C SchemaChangeReport Schema change report.
C SchemaValidationResult Schema validation result.
C StructureChange Structure change.
C SupportedType Supported type information.
C TypeMigrationResult Result of data type migration.
C ValidationIssue Validation issue.

Interfaces

I ILazyPropsLoader Interface for lazy loading of RedbObject Props.
I IListProvider Provider for working with dictionaries (Lists) and their items (ListItems).
I IObjectStorageProvider Provider for saving/loading objects in EAV storage.
I IPermissionProvider Provider for access permission management.
I IQueryableProvider Provider for creating LINQ queries (high-level API).
I IRoleProvider Provider for user role management.
I ISchemeSyncProvider Provider for scheme and structure management (Code-First).
I ITreeProvider Provider for tree structure operations.
I IUserProvider Provider for user management.
I IValidationProvider Provider for schema and type validation.

Enums

E ChangeType Change type.
E ValidationSeverity Validation issue severity level.

redb.Core.Providers.Base

Classes

C ChildObjectInfo DTO for child object query result.
C ListProviderBase Base class for IListProvider implementations.
C ObjectStorageProviderBase 🚀 BULK INSERT - high-performance creation of multiple objects
C ObjectStorageProviderExtensions Extensions for PostgresObjectStorageProvider under the new saving paradigm
C PermissionProviderBase Base implementation of permission provider with common business logic.
C QueryableProviderBase Base class for IQueryableProvider implementations.
C RoleProviderBase Base implementation of role provider with common business logic.
C SchemeSyncProviderBase Base class for scheme synchronization provider.
C SchemeWithJson DTO for scheme + JSON query result.
C TreeProviderBase Base class for tree provider with all platform-agnostic logic.
C UserProviderBase Base implementation of user provider with common business logic.
C ValidationProviderBase Base class for validation provider.

redb.Core.Providers.Base.ObjectStorageProviderBase

Classes

C ObjectStorageProviderBase.StructureFullInfo 📋 Structure with full information for ChangeTracking

redb.Core.Providers.Base.TreeProviderBase

redb.Core.Query

Classes

C FacetFilterBuilder Builds JSON filters for search_objects_with_facets function.
C OrderingExpressionParser Parses ordering expressions from LINQ to REDB query format.
C QueryContext<TProps> Query context - contains all information about LINQ query
C RedbProjectedQueryable<TProps, TResult> Implementation of LINQ query projections in REDB with filtering and sorting support
C RedbProjectedQueryableTaskExtensions Extension methods for Task<IRedbProjectedQueryable<T>> to avoid double await.
C RedbQueryable<TProps> Basic implementation of IRedbQueryable
C RedbQueryableExtensions Extension methods for IRedbQueryable.
C Sql SQL functions for use in LINQ expressions.
C SqlPreviewResult Result of SQL preview function execution.
C TreeProjectedQueryable<TProps, TResult> Implementation of projections for tree LINQ queries in REDB

Interfaces

I IOrderedRedbQueryable<TProps> Interface for ordered queries (after OrderBy).
I IRedbProjectedQueryable<TResult> Interface for LINQ query projections in REDB.
I IRedbQueryable<TProps> Main interface for type-safe LINQ queries to REDB.
I IRedbQueryProvider Provider for executing LINQ queries.
I ISqlDialect SQL syntax abstraction for different DBMS support.
I ITreeQueryProvider Extended provider for executing tree LINQ queries.

redb.Core.Query.Aggregation

Classes

C Agg Static helper for creating aggregate expressions in Select
C AggregateRequest Request for batch aggregation of multiple fields.
C AggregateResult Batch aggregation result.
C FieldStatistics<T> Result of GetStatisticsAsync - all aggregates for field.
C Win Static helper for window functions

Enums

E AggregateFunction Aggregate function types for EAV fields.

redb.Core.Query.Base

Classes

C QueryProviderBase Base query provider for executing LINQ queries via search_objects_with_facets.
C TreeFilter Tree filter - representation of hierarchical operator
C TreeQueryableBase<TProps> Base tree queryable for hierarchical LINQ queries.
C TreeQueryContext<TProps> Tree query context - extends QueryContext with tree parameters support
C TreeQueryProviderBase Base tree query provider for executing hierarchical LINQ queries via search_tree_objects_with_facets...

Enums

E TreeFilterOperator Tree operator types (correspond to SQL operators from search_tree_objects_with_facets)

redb.Core.Query.Caching

Classes

C ExpressionSqlCache Cache for compiled SQL templates.

redb.Core.Query.Expressions

Classes

C FieldNameExtractor Extracts field names from LINQ Expression tree.

redb.Core.Query.FacetFilters

Classes

C QueryParameters Query parameters.

Interfaces

I IFacetFilterBuilder JSON filter builder for search_objects_with_facets.

redb.Core.Query.Filtering

Classes

C ArrayAnd AND node - all child conditions must be true.
C ArrayFilterExtractor [OBSOLETE] This class is no longer used in Pro version.
C ArrayFilterNode Tree structure for ArrayContains filter operations.
C ArrayLeaf Leaf node - a specific operation on an array field.
C ArrayNot NOT node - negation of inner condition.
C ArrayOr OR node - at least one child condition must be true.
C FilterFieldExtractor Extracts field information from FilterExpression tree.

Enums

E ArrayLeafOperator Operators for array leaf nodes.

redb.Core.Query.Filtering.ArrayFilterExtractor

Classes

C ArrayFilterExtractor.ExtractionResult Extraction result containing both PVT filter and Array filter.

redb.Core.Query.Grouping

Classes

C GroupedWindowedQueryable<TKey, TProps> Queryable for applying window functions to grouped data.
C GroupedWindowSpec<TKey, TProps> Window specification for grouped queries.
C GroupFieldRequest Request for grouping field for SQL function aggregate_grouped
C RedbArrayGroupedQueryable<TKey, TItem, TProps> Grouping by array elements (Items[].Property)
C RedbGroupedQueryable<TKey, TProps> Implementation of REDB grouped queries
C TreeGroupedQueryable<TKey, TProps> Tree-aware grouped queryable that preserves TreeQueryContext for proper CTE generation.
C TreeGroupedWindowedQueryable<TKey, TProps> Tree-aware GroupBy + Window queryable.

Interfaces

I IGroupedWindowedQueryable<TKey, TProps> Queryable for applying window functions to grouped data.
I IGroupedWindowSpec<TKey, TProps> Window specification for grouped queries.
I IRedbGroupedQueryable<TKey, TProps> Interface for grouped REDB queries.
I IRedbGrouping<TKey, TProps> Represents group of objects with common key.

redb.Core.Query.Mapping

Classes

C BaseFieldMapper Maps C# property names to SQL column names for base RedbObject fields.
C DbTypeMapper Maps redb DbType names to _values column names.

redb.Core.Query.Models

Classes

C CompiledQuery Compiled SQL query with template and metadata.
C FieldInfo Metadata about a field in the PVT query.

Enums

E ListItemProperty Specifies which property of ListItem is being accessed.

redb.Core.Query.Parameters

Classes

C SqlParameterCollectorBase Base class for SQL parameter collection.

redb.Core.Query.Parsing

Classes

C BaseFilterExpressionParser Base class for parsing LINQ expressions to FilterExpression.
C FilterExpressionParser OpenSource implementation of FilterExpressionParser.

redb.Core.Query.Projection

Classes

C AggregationInfo Aggregation information
C FieldPathInfo Field path information
C ProjectionFieldExtractor Extracts structure_ids from Select expression to optimize _values loading.

redb.Core.Query.QueryExpressions

Classes

C ArithmeticExpression Arithmetic expression (Pro Only)
C ComparisonExpression Comparison expression (property operator value)
C ConstantValueExpression Constant value
C CustomFunctionExpression Custom SQL function (Pro Only)
C FilterExpression Base class for filter expressions
C FunctionCallExpression Function call on value (Pro Only)
C InExpression Expression for checking inclusion in list
C LogicalExpression Logical expression (AND, OR, NOT)
C NullCheckExpression Expression for null check
C OrderingExpression Sorting information.
C PropertyInfo Field information in expression
C PropertyValueExpression Reference to object property
C ValueExpression Base class for value expressions (Pro version)

Interfaces

I IExpressionVisitor<TResult> Interface for processing Expression Tree
I IFilterExpressionParser Parser for converting Where expressions to FilterExpression
I IOrderingExpressionParser Parser for converting OrderBy expressions to OrderingExpression

Enums

E ArithmeticOperator Arithmetic operators (Pro Only).
E ComparisonOperator Comparison operators
E LogicalOperator Logical operators
E PropertyFunction Functions that can be applied to property
E SortDirection Sort direction

redb.Core.Query.Utils

Classes

C JsonValueConverter Unified converter JsonElement → CLR types for EAV

redb.Core.Query.Window

Classes

C Frame Static helper for creating frames
C FrameBound Frame boundary
C FrameBuilder Builder for creating FrameSpec
C FrameSpec Frame specification for window functions
C RedbWindowedQueryable<TProps> Implementation of queries with window functions
C TreeWindowedQueryable<TProps> Implementation of queries with window functions for TreeQueryable.
C WindowFieldRequest
C WindowFuncRequest
C WindowOrderRequest
C WindowSpec<TProps> Implementation of window specification

Interfaces

I IRedbWindowedQueryable<TProps> Interface for queries with window functions.
I IWindowSpec<TProps> Window specification for Window Functions.

Enums

E FrameBoundType Window boundary type
E FrameType Frame type: ROWS or RANGE

redb.Core.Schema

Interfaces

I ISchemeFieldResolver Resolves field paths to FieldInfo with structure_id and db_type.

redb.Core.Security

Classes

C SimplePasswordHasher Password hasher implementation using SHA256 + salt.

Interfaces

I IPasswordHasher Interface for password hashing operations.

redb.Core.Serialization

Classes

C FlexibleDateOnlyConverter Flexible converter for DateOnly - supports DateTime strings
C FlexibleNullableDateOnlyConverter Flexible converter for nullable DateOnly
C FlexibleNullableTimeOnlyConverter Flexible converter for nullable TimeOnly
C FlexibleNullableTimeSpanConverter Flexible converter for nullable TimeSpan
C FlexibleTimeOnlyConverter Flexible converter for TimeOnly - supports TimeSpan strings
C FlexibleTimeSpanConverter Flexible converter for TimeSpan - supports strings
C NullToDefaultConverter<T> Converter that returns default(T) when JSON contains null for a non-nullable value type.
C NullToDefaultConverterFactory Factory that creates converters to handle JSON null → default(T) for non-nullable value types.
C PolymorphicRedbObjectConverter ✅ Polymorphic converter for IRedbObject
C PostgresDateTimeOffsetConverter ✅ DateTimeOffset converter for PostgreSQL timestamptz.
C PostgresInfinityDateTimeConverter ✅ FIX FOR "-infinity" PROBLEM: DateTime converter for handling PostgreSQL "-infinity"
C PostgresInfinityNullableDateTimeConverter ✅ FIX FOR "-infinity" PROBLEM: Nullable DateTime converter for handling PostgreSQL "-infinity"
C PostgresNullableDateTimeOffsetConverter ✅ Nullable DateTimeOffset converter for PostgreSQL timestamptz.
C SystemTextJsonRedbSerializer
C ValueTupleDictionaryConverter<TKey, TValue> JsonConverter for Dictionary with complex keys (ValueTuple, classes).
C ValueTupleDictionaryConverterFactory Factory for creating JsonConverters for Dictionary with ValueTuple keys.

Interfaces

I IRedbObjectSerializer

redb.Core.Services

Classes

C BackgroundDeletionService Background deletion service with queue-based processing.
C DeletionMark Result of marking objects for deletion.
C OrphanedTask Orphaned deletion task found at startup.
C PurgeProgress Progress of trash purge operation.

Interfaces

I IBackgroundDeletionService Background deletion service with queue-based processing.

Enums

E PurgeStatus Status of a purge operation.

redb.Core.Utils

Classes

C appExt
C AutomaticTypeRegistry Automatic type registry for polymorphic work with REDB objects
C DateTimeConverter Centralized DateTime conversion logic.
C RedbHash Utility for computing MD5 hash from object properties.
C RedbKeySerializer Serializes and deserializes Dictionary keys to/from _array_index (text) storage.
C RedbTypeIds System type IDs for REDB. Matches _types table in database.
C RedbTypeMapping Helper methods for REDB type mapping between C# types and database columns
C SchemeHashCalculator Utility for computing MD5 hash of scheme structure.
C TreeExtensions Extensions for working with tree structures.
C TreeObjectConverter Utility class for converting between RedbObject and TreeRedbObject types.
C ValuesTopologicalSort Topological sorting of _values to maintain FK constraint on _array_parent_id.

redb.Examples.Examples

Classes

C E000_BulkInsert Example: Bulk insert of complex employee records.
C E001_SaveAsync Example: Create and save a new employee.
C E002_LoadAsync Example: Load employee by ID.
C E010_WhereSimple Example: Simple Where filter by salary.
C E011_WhereAnd Example: Where with AND - filter by age and salary.
C E012_WhereOr Filter employees using OR condition.
C E013_WhereNot Filter employees using NOT equal condition.
C E014_WhereRange Filter employees by salary range.
C E015_WhereTripleAnd Filter employees using triple AND condition.
C E016_WhereChain Filter employees using chained Where() calls.
C E020_DateTimeGreater Filter employees by hire date.
C E021_DateTimeRange Filter employees by date range.
C E030_StringContains Filter employees using String.Contains.
C E031_StringStartsWith Filter employees using String.StartsWith.
C E032_StringContainsIgnoreCase Filter using case-insensitive String.Contains.
C E040_NestedProperty Filter employees by nested property.
C E041_DeepNested Filter employees by deeply nested property.
C E050_ArrayContains Query employees by skill using Array.Contains.
C E051_ArrayMultiple Query employees with multiple skills using Array.Contains with OR.
C E052_ArrayNotContains Query employees excluding specific skill.
C E053_ArrayWithConditions Query employees combining array Contains with other conditions (Pro).
C E060_DictContainsKey Query employees using Dictionary.ContainsKey.
C E061_DictIndexer Query employees using Dictionary indexer.
C E062_DictNestedClass Query employees using Dict indexer with nested class (Pro).
C E063_DictTupleKey Query employees using Dict with tuple key (Pro).
C E070_CountAsync Count employees using CountAsync.
C E071_AnyAsync Check if any employees exist using AnyAsync().
C E072_AnyWithPredicate Check if any employees match a condition using AnyAsync(predicate).
C E073_AllAsync Check if ALL employees match a condition using AllAsync(predicate).
C E074_WhereIn Filter employees by a list of values using WhereIn.
C E075_Select Project specific fields using Select (server-side projection).
C E076_Distinct Get unique objects by Props hash using Distinct().
C E080_OrderBy Sort employees by salary using OrderBy.
C E081_OrderByThenBy Sort employees by multiple fields using ThenBy.
C E082_SkipTake Paginate employees using Skip and Take.
C E083_OrderByDescending Sort employees in descending order using OrderByDescending.
C E087_TreeCleanup Cleanup existing tree data before E088/E089 tests.
C E088_TreeCreateBulk BULK create tree hierarchy (Pro feature) - FAST version.
C E089_TreeCreate Sequential create tree hierarchy (Pro feature) - SLOW version.
C E090_TreeLoad Load full tree with LoadTreeAsync.
C E091_TreeCount Count tree nodes with TreeQuery.
C E092_TreeChildren Get direct children of a node.
C E093_TreePath Get path from node to root.
C E094_TreeDescendants Get all descendants of a node.
C E095_TreeMove Move node to new parent.
C E096_TreeQuery LINQ queries on tree structures.
C E097_TreeQueryRoots Find root nodes in tree.
C E098_TreeQueryLeaves Find leaf nodes in tree.
C E099_TreeQueryLevel Filter tree nodes by level.
C E100_TreeTraversalDFS Depth-First traversal of tree.
C E101_TreeTraversalBFS Breadth-First traversal of tree.
C E102_TreeIsDescendant Check if node is descendant of another.
C E103_TreeIsAncestor Check if node is ancestor of another.
C E104_TreeGetLevel Get tree level of a node.
C E105_TreeQueryWithRoot TreeQuery scoped to specific root.
C E106_TreeQueryChildrenOf Query direct children of a node.
C E107_TreeQueryMultiRoot TreeQuery with multiple root parents.
C E108_TreeToTreeList ToTreeListAsync with Parent chain.
C E109_TreeToRootList ToRootListAsync - get full tree structure.
C E110_TreeWhereHasAncestor WhereHasAncestor - polymorphic ancestor filter.
C E111_TreeWhereHasDescendant WhereHasDescendant - find parents by child criteria.
C E112_TreeStats Tree statistics via TreeCollection.
C E113_TreeToFlatList Load tree nodes as flat list without Parent/Children links.
C E114_ListCreate Creates a new RedbList (dictionary/lookup table).
C E115_ListAddItems Adds multiple items to a RedbList using AddItemsAsync.
C E116_ListGetByName Gets a RedbList by name and retrieves its items.
C E117_ListItemWithObject Creates a ListItem with linked RedbObject.
C E118_PropsListItemField Object with ListItem field in Props.
C E119_PropsListItemArray Object with List of ListItems field in Props.
C E120_ListItemWhereByValue Query filtering by ListItem.Value property.
C E121_ListItemWhereIn Query filtering by ListItem.Value using WhereIn.
C E122_ListItemDirectCompare Query filtering by direct ListItem comparison.
C E123_ListItemArrayAny Query filtering by ListItem array using Any().
C E124_SumAsync Calculates sum of a numeric field using SumAsync.
C E125_AverageAsync Calculates average of a numeric field using AverageAsync.
C E126_MinMaxAsync Calculates min and max of numeric fields using MinAsync/MaxAsync.
C E127_AggregateAsync Batch aggregation with multiple functions in single query.
C E128_GroupBySimple Groups objects by a field and calculates aggregates per group.
C E129_GroupByFiltered GroupBy with Where filter applied before grouping.
C E130_GroupByMultiKey GroupBy with composite key (multiple fields).
C E131_GroupByRedb GroupBy on base RedbObject fields without JOIN.
C E132_WindowRowNumber Window function ROW_NUMBER() with PARTITION BY.
C E133_WindowRunningSum Window function SUM() OVER for running totals.
C E134_WindowLagLead Window functions LAG/LEAD for previous/next values.
C E135_WindowRank Window functions RANK/DENSE_RANK for ranking with ties.
C E136_WindowNtile Window function NTILE for bucket distribution.
C E137_WindowFirstLast Window functions FIRST_VALUE/LAST_VALUE.
C E138_WindowFrame Window function with custom frame (sliding window).
C E139_DistinctRedb DISTINCT ON base fields (without Id) for finding duplicates.
C E140_DistinctByRedb DISTINCT ON specific base field.
C E141_WhereInRedb Filter by list of base field values.
C E142_GroupByArray Groups objects by elements of an array field using GroupByArray.
C E143_SumRedbAsync SumRedbAsync - sum of base IRedbObject field WITHOUT JOIN to _values.
C E144_MinMaxRedbAsync MinRedbAsync/MaxRedbAsync - min/max of base IRedbObject fields WITHOUT JOIN.
C E145_AverageRedbAsync AverageRedbAsync - average of base IRedbObject field WITHOUT JOIN.
C E146_AggregateRedbAsync AggregateRedbAsync - batch aggregation of base IRedbObject fields in ONE query.
C E147_WindowPartitionByRedb PartitionByRedb in Window Functions - partition by base IRedbObject field.
C E148_WindowOrderByRedb OrderByRedb in Window Functions - order by base IRedbObject field.
C E149_SelectProjection Select projection - load only specific fields instead of full object.
C E150_ArrayAggregation Array aggregation - aggregate all elements of array field or specific index.
C E151_ArithmeticMultiply Demonstrates arithmetic multiplication in Where clause.
C E152_ArithmeticAddFields Demonstrates arithmetic operations combining multiple fields in Where clause.
C E153_StringToLower Demonstrates case-insensitive string search using ToLower() in Where clause.
C E154_StringTrim Demonstrates Trim() function in Where clause to filter out empty or whitespace-only values.
C E155_StringChain Demonstrates chaining multiple string functions in Where clause.
C E156_MathAbs Demonstrates Math.Abs() in Where clause for range filtering around a target value.
C E157_DateTimeYear Demonstrates DateTime property extraction in WhereRedb clause.
C E158_Parentheses Demonstrates parentheses for operation priority in Where clause.
C E159_NestedMath Demonstrates nested Math functions with arithmetic in Where clause.
C E160_TreeQueryExpressions Demonstrates arithmetic expressions in TreeQuery Where clause.
C E161_SqlFunctionCoalesce Demonstrates Sql.Function for calling custom SQL functions.
C E162_SqlFunctionPower Demonstrates Sql.Function for mathematical SQL functions.
C E163_SqlFunctionNested Demonstrates nested Sql.Function calls for complex SQL expressions.
C E164_BaseFieldsSingle Demonstrates using RedbObject base fields without Props (EAV values).
C E165_BaseFieldsBatch Demonstrates batch save/load of non-generic RedbObject with base fields.
C E166_GenericNullProps Demonstrates using generic RedbObject<TProps> with Props=null.
C E167_MixedBatch Demonstrates mixed batch save with both non-generic RedbObject and generic RedbObject<T> with Props=...
C E168_ArrayContains Demonstrates filtering by array element using Contains().
C E169_ArrayContainsOr Demonstrates filtering by multiple array elements using Contains with OR.
C E170_ArrayContainsAnd Demonstrates filtering by multiple array elements using Contains with AND.
C E171_ScalarPlusArray Demonstrates combining scalar field filter with array Contains filter.
C E172_StringLength Demonstrates String.Length property in Where clause.
C E173_TreeQueryGroupBy Demonstrates GroupBy aggregation on TreeQuery.
C E174_TreeQueryWindow Demonstrates Window Functions on TreeQuery.
C E175_TreeQueryGroupByWindow Demonstrates GroupBy + Window Functions on TreeQuery.
C E176_TreeDistinctBy Demonstrates DistinctBy on TreeQuery to get unique tree nodes by a Props field.
C E177_TreeDistinctByRedb Demonstrates DistinctByRedb on TreeQuery to get unique tree nodes by a base field.
C E178_TreeOrderBy Demonstrates OrderBy on TreeQuery to sort tree nodes by a Props field.
C E179_TreeOrderByDescending Demonstrates OrderByDescending on TreeQuery to sort tree nodes in reverse order.
C E180_TreeDistinctByOrderBy Demonstrates combining DistinctBy and OrderByDescending on TreeQuery.
C E181_DeleteSingle Demonstrates deleting a single object by ID.
C E182_DeleteBatch Demonstrates batch deletion of multiple objects.
C E183_FirstOrDefaultAsync Demonstrates FirstOrDefaultAsync to get a single object matching criteria.
C E184_WhereNullable Demonstrates filtering by nullable fields.
C E185_WhereBool Demonstrates filtering by conditions that can be simplified.
C E186_ObjectReference Demonstrates loading objects with RedbObject references.
C E187_UpdateExisting Demonstrates updating an existing object by loading, modifying, and saving it.
C E190_SumAsyncFiltered SumAsync with Where filter applied before aggregation.
C E191_WindowFiltered Window function with Where filter applied before windowing.
C E192_AggregateFiltered Multiple aggregations with Where filter applied before aggregation.
C E193_AverageAsyncFiltered AverageAsync with Where filter applied before aggregation.
C E194_MinMaxAsyncFiltered MinAsync/MaxAsync with Where filter applied before aggregation.
C E195_GroupByWindowFiltered GroupBy + Window with Where filter applied before grouping.
C ExampleBase Base class for all examples.
C ExampleMetaAttribute Attribute to mark example classes with metadata.

redb.Examples.Models

Classes

C Address Address with city, street and building details.
C BuildingInfo Building information with floor and amenities.
C CityProps City props for list examples (linked objects).
C Contact Contact information (email, phone, etc).
C ContactDetail Contact detail key-value pair.
C Department Department info with tags, metrics and nested budget data.
C DepartmentProps Department props for tree examples (corporate hierarchy).
C EmployeeProps Employee props - main model for examples.
C ExampleResultProps Props for storing example test results in redb database.
C PersonProps Person props demonstrating ListItem fields.
C PlatformResult Platform-specific test result (Count, Time, Status).
C ProjectMetricsProps Project metrics for analytics.
C Tag Tag with priority for categorization.

redb.Examples.Output

Classes

C ExampleResult Result of running an example. Used for unified output.
C TableCell Cell with optional color highlighting.
C TablePrinter Simple table printer with Unicode box-drawing and color support.

Enums

E ExampleTier License tier for examples.

redb.Export.Models

Classes

C ExportFooter Represents the footer (trailer) record of a .redb export file.
C ExportHeader Represents the header record of a .redb export file.
C ExportRecord Abstract base class for all data records in a .redb JSONL stream.
C ListItemRecord Represents a row from the _list_items table.
C ListRecord Represents a row from the _lists table (enumeration/lookup list).
C ObjectRecord Represents a row from the _objects table (entity instance).
C PermissionRecord Represents a row from the _permissions table.
C RoleRecord Represents a row from the _roles table.
C SchemeRecord Represents a row from the _schemes table (schema/class definition).
C StructureRecord Represents a row from the _structures table (field/property definition).
C TypeRecord Represents a row from the _types table (REDB type definition).
C UserRecord Represents a row from the _users table.
C UserRoleRecord Represents a row from the _users_roles junction table.
C ValueRecord Represents a row from the _values table (EAV property value).

redb.Export.Providers

Classes

C MssqlProvider implementation for Microsoft SQL Server.
C PostgresProvider implementation for PostgreSQL.
C ProviderFactory Factory that creates instances by provider name.

Interfaces

I IDataProvider Abstracts database-specific operations required by the export/import pipeline.

redb.Export.Services

Classes

C ExportService Exports an entire REDB database (or a filtered subset of schemes) to a .redb file.
C ImportService Imports data from a .redb file into a REDB database.

redb.MSSql

Classes

C RedbService MSSQL implementation of IRedbService.

redb.MSSql.Data

Classes

C SqlBulkOperations MS SQL Server implementation of IBulkOperations using SqlBulkCopy.
C SqlKeyGenerator MS SQL Server implementation of key generator.
C SqlRedbConnection MS SQL Server implementation of IRedbConnection using Microsoft.Data.SqlClient.
C SqlRedbContext MS SQL Server implementation of REDB context.
C SqlRedbTransaction MS SQL Server implementation of IRedbTransaction using SqlTransaction.

redb.MSSql.Extensions

Classes

C MsSqlOptionsExtensions MSSQL provider extensions for RedbOptionsBuilder.

redb.MSSql.Pro.Extensions

Classes

C MsSqlProOptionsExtensions MSSQL Pro provider extensions for RedbOptionsBuilder.
C ProServiceCollectionExtensions Extensions for registering Pro services in DI container.

redb.MSSql.Pro.Providers

Classes

C ProMssqlObjectStorageProvider MSSqlQL Pro version of ObjectStorageProvider.
C ProMssqlTreeProvider MSSqlQL Pro version of TreeProvider.
C ProQueryableProvider ⚡ Pro version of QueryableProvider - uses ProQueryProvider for PVT optimizations.

redb.MSSql.Pro.Query

Classes

C ExpressionToSqlCompiler Compiles C# Expression to SQL WHERE clause for PVT (T-SQL syntax).
C FieldAliasMapping Maps original field path to SQL alias for materialization.
C ProQueryProvider ProQueryProvider: PVT-based Batch Aggregation.
C ProSqlBuilder T-SQL-specific SQL builder for Pro version.
C ProTreeQueryProvider ProTreeQueryProvider - Aggregation for trees (partial).
C PvtSqlGenerator PVT SQL generator for T-SQL syntax.
C TreeQuerySqlResult Result of SQL generation for Tree Query

redb.MSSql.Pro.Query.PvtSqlGenerator

Classes

C PvtSqlGenerator.PvtCteResult Result of GeneratePvtCte - contains CTE SQL and join info.

redb.MSSql.Pro.Services

Classes

C ProRedbService Pro version of RedbService - replaces _queryProvider with ProQueryableProvider.

redb.MSSql.Pro.Sql

Classes

C ProMsSqlDialect Pro version of MS SQL Server dialect.

redb.MSSql.Providers

Classes

C LazyPropsLoader OpenSource implementation of lazy Props loading for MS SQL Server.
C MssqlListProvider MS SQL Server implementation of IListProvider.
C MssqlObjectStorageProvider MS SQL Server implementation of ObjectStorageProvider.
C MssqlPermissionProvider MS SQL Server implementation of permission provider.
C MssqlQueryableProvider MS SQL Server implementation of IQueryableProvider.
C MssqlRoleProvider MS SQL Server implementation of role provider.
C MssqlSchemeSyncProvider MS SQL Server implementation of scheme synchronization provider.
C MssqlTreeProvider MS SQL Server implementation of tree provider.
C MssqlUserProvider MS SQL Server implementation of user provider.
C MssqlValidationProvider MS SQL Server implementation of validation provider.

redb.MSSql.Query

Classes

C MssqlQueryProvider MS SQL Server query provider implementation.
C MssqlTreeQueryable<TProps> MS SQL Server tree queryable implementation.
C MssqlTreeQueryProvider MS SQL Server tree query provider implementation.

redb.MSSql.Sql

Classes

C MsSqlDialect MS SQL Server implementation of ISqlDialect.

redb.Postgres

Classes

C RedbService PostgreSQL implementation of IRedbService.

redb.Postgres.Configuration

Classes

C UserConfigurationService Service for managing user configurations.

redb.Postgres.Data

Classes

C NpgsqlBulkOperations PostgreSQL implementation of IBulkOperations using COPY protocol.
C NpgsqlKeyGenerator PostgreSQL implementation of key generator.
C NpgsqlRedbConnection PostgreSQL implementation of IRedbConnection using Npgsql.
C NpgsqlRedbContext PostgreSQL implementation of REDB context.
C NpgsqlRedbTransaction PostgreSQL implementation of IRedbTransaction using Npgsql.

redb.Postgres.Extensions

Classes

C PostgresOptionsExtensions PostgreSQL provider extensions for RedbOptionsBuilder.
C RedbServiceExtensions Extension methods for unified REDB registration following EF Core AddDbContext pattern
C ServiceCollectionExtensions Extension methods for registering RedbService in DI container.

redb.Postgres.Pro.Extensions

Classes

C PostgresProOptionsExtensions PostgreSQL Pro provider extensions for RedbOptionsBuilder.
C ProServiceCollectionExtensions Extensions for registering Pro services in DI container.

redb.Postgres.Pro.Providers

Classes

C ProPostgresObjectStorageProvider PostgreSQL Pro version of ObjectStorageProvider.
C ProPostgresTreeProvider PostgreSQL Pro version of TreeProvider.
C ProQueryableProvider ⚡ Pro version of QueryableProvider - uses ProQueryProvider for PVT optimizations.

redb.Postgres.Pro.Query

Classes

C ExpressionToSqlCompiler Compiles C# Expression to SQL WHERE condition for PVT.
C ProQueryProvider ProQueryProvider: PVT-based Batch Aggregation.
C ProSqlBuilder PostgreSQL-specific SQL builder for Pro version.
C ProTreeQueryProvider ProTreeQueryProvider - Aggregation for trees (partial).
C PvtSqlGenerator PVT SQL generator for WHERE conditions.
C TreeQuerySqlResult Result of SQL generation for Tree Query

redb.Postgres.Pro.Query.PvtSqlGenerator

Classes

C PvtSqlGenerator.PvtCteResult Result of GeneratePvtCte - contains CTE SQL and join info.

redb.Postgres.Pro.Services

Classes

C ProRedbService Pro version of RedbService - replaces _queryProvider with ProQueryableProvider.

redb.Postgres.Pro.Sql

Classes

C ProPostgreSqlDialect Pro version of PostgreSQL dialect.

redb.Postgres.Providers

Classes

C LazyPropsLoader OpenSource implementation of lazy Props loading for PostgreSQL.
C PostgresListProvider PostgreSQL implementation of IListProvider.
C PostgresObjectStorageProvider PostgreSQL implementation of ObjectStorageProvider.
C PostgresPermissionProvider PostgreSQL implementation of permission provider.
C PostgresQueryableProvider PostgreSQL implementation of IQueryableProvider.
C PostgresRoleProvider PostgreSQL implementation of role provider.
C PostgresSchemeSyncProvider PostgreSQL implementation of scheme synchronization provider.
C PostgresTreeProvider PostgreSQL implementation of tree provider.
C PostgresUserProvider PostgreSQL implementation of user provider.
C PostgresValidationProvider PostgreSQL implementation of validation provider.

redb.Postgres.Query

Classes

C PostgresQueryProvider PostgreSQL query provider implementation.
C PostgresTreeQueryable<TProps> PostgreSQL tree queryable implementation.
C PostgresTreeQueryProvider PostgreSQL tree query provider implementation.

redb.Postgres.Sql

Classes

C PostgreSqlDialect PostgreSQL implementation of ISqlDialect.

redb.Postgres.Utils

Classes

C ValuesTopologicalSort Topological sorting of _values to maintain FK constraint on _array_parent_id.

redb.PropsEditor.Attributes

Classes

C PropsDisplayAttribute Specifies display settings for a property in PropsEditor.
C PropsGroupAttribute Groups properties together in a collapsible section.
C PropsHiddenAttribute Hides the property from the editor.
C PropsReadOnlyAttribute Marks the property as read-only in the editor.
C PropsTextAreaAttribute Renders the property as a multiline text area.

redb.PropsEditor.Extensions

Classes

C ServiceCollectionExtensions Extension methods for registering redb.PropsEditor services.

redb.PropsEditor.Services

Classes

C PropertyMetadata Metadata about a single property for UI rendering.
C PropsMetadataService Provides metadata about Props classes for dynamic UI generation.

Enums

E EditorType Type of editor to render for a property.