Beep Data Management Engine
Enterprise-grade data management solution for .NET 6, 7, 8, and 9 applications
Overview
The Beep Data Management Engine is a comprehensive, multi-target framework that provides powerful data access patterns, unit of work implementations, change tracking, and enterprise-level data management capabilities for modern .NET applications.
Built with extensibility in mind, the engine supports a wide variety of data sources from traditional relational databases to modern vector databases, file formats, and custom data providers through its plugin-based architecture.
π Quick Start
Get started with the Beep Data Management Engine in just a few minutes
Key Features
ποΈ Multi-DataSource Support
Connect to SQL Server, SQLite, MySQL, PostgreSQL, Excel, CSV, and vector databases
π Unit of Work Pattern
Advanced implementation with change tracking, validation, and transaction management
π Change Tracking
Automatic monitoring of entity changes with undo/redo capabilities and audit trails
β‘ Async Operations
Full async/await support for all CRUD operations with progress reporting
π Enterprise Security
Built-in security features, connection pooling, and enterprise authentication
π Relationship Management
Sophisticated parent-child relationship handling with cascade operations
Engine Statistics
Installation
Install the package using one of the following methods:
Package Manager Console
Install-Package TheTechIdea.Beep.DataManagementEngine
.NET CLI
dotnet add package TheTechIdea.Beep.DataManagementEngine
Package Reference
<PackageReference Include="TheTechIdea.Beep.DataManagementEngine" Version="2.0.32" />
Basic Usage
Here's a simple example to get you started:
Creating Your First UnitOfWork
using Autofac;
using TheTechIdea.Beep;
using TheTechIdea.Beep.ConfigUtil;
using TheTechIdea.Beep.Logger;
using TheTechIdea.Util;
// Initialize DME Editor using Autofac
var builder = new ContainerBuilder();
builder.RegisterType<DMEEditor>().As<IDMEEditor>().SingleInstance();
builder.RegisterType<ConfigEditor>().As<IConfigEditor>().SingleInstance();
builder.RegisterType<DMLogger>().As<IDMLogger>().SingleInstance();
builder.RegisterType<Util>().As<IUtil>().SingleInstance();
builder.RegisterType<ErrorsInfo>().As<IErrorsInfo>().SingleInstance();
builder.RegisterType<JsonLoader>().As<IJsonLoader>().SingleInstance();
builder.RegisterType<AssemblyHandler>().As<IAssemblyHandler>().SingleInstance();
var container = builder.Build();
var dmeEditor = container.Resolve<IDMEEditor>();
// Initialize required configurations for IDataSource support
InitializeBeepDefaults(dmeEditor);
// Create a data connection
ConnectionProperties connectionProps = new ConnectionProperties
{
ConnectionName = "MyDatabase",
DatabaseType = DataSourceType.SqlServer,
ConnectionString = "Server=localhost;Database=MyDB;Integrated Security=true;"
};
// Add connection to configuration
dmeEditor.ConfigEditor.AddDataConnection(connectionProps);
// Get data source and open connection
IDataSource dataSource = dmeEditor.GetDataSource("MyDatabase");
dataSource.Openconnection();
// Create UnitOfWork for your entity
var unitOfWork = new UnitofWork<Customer>(
dmeEditor,
"MyDatabase",
"Customers",
"CustomerId"
);
// Load data
await unitOfWork.Get();
// Work with your data
unitOfWork.New(); // Create new customer
var newCustomer = unitOfWork.CurrentItem;
newCustomer.Name = "John Doe";
newCustomer.Email = "john@example.com";
// Save changes
await unitOfWork.Commit();
Supported Data Sources
The Beep Data Management Engine supports a wide variety of data sources:
π’ Enterprise Databases
SQL Server, PostgreSQL, MySQL, DB2, Firebird
π± Embedded Databases
SQLite, LiteDB, DuckDB
π File Formats
Excel, CSV, JSON, XML
π§ Vector Databases
ChromaDB, Pinecone, Milvus
π Web APIs
REST APIs, GraphQL, OAuth2, and custom web services
βοΈ Cloud Services
Azure SQL, AWS RDS, Google Cloud SQL
π§ Custom Sources
Extensible architecture for any data source
Documentation Sections
WebAPIDataSource
Complete REST API integration with authentication, caching, and circuit breaker
Web API GuideFileManager Reader Host
Discover available file readers, switch by type/implementation/reader ID, and support multiple CSV readers safely.
File Reader GuideDataViewDataSource
Federated view datasource reference with current DataView signatures and execution modes.
DataView GuideCaching API
Current ICacheProvider contract and CacheManager patterns (including stale-while-revalidate APIs).
Proxy DataSource
Current proxy failover, policy, and cluster interfaces: IProxyDataSource and IProxyCluster.
DistributedDataSource
Shard-aware distributed routing, replicated/scatter execution, and Phase 14 capacity controls with backpressure examples.
Distributed GuideRules Engine & Parsers
One-page reference for rule runtime execution and parser contracts with verified signatures.
Rules GuideServices Registration
Registration API and lifetime patterns for desktop, web, and blazor startup flows.
Services GuideHelpers Runtime
One-page reference for connection helpers, RDBMS helpers, and universal datasource helper factory/delegation surfaces.
Helpers GuideAssemblyHandler Loading & NuGet
Signature-verified guide for DLL loading, NuGet package management, driver tracking, and loader extension authoring.
AssemblyHandler GuideETL Engine: Pipeline
Pipeline execution internals including run/resume, checkpoints, lineage flush, and manager-level run persistence.
Pipeline InternalsETL Engine: Scheduling
Scheduler host internals for queue isolation, dispatch governance, dependency handling, watermark windows, and backfills.
Scheduling InternalsETL Engine: Observability
Run logs, lineage, metrics, alert evaluation, dashboard query APIs, and audit-integrity flow.
Observability InternalsTechnical Folder Guides
Hand-written module guides for Editor, Helpers, ConfigUtil, WebAPI, Caching, and JSON internals
View GuidesβοΈ Editor Classes
Core engine components: DMEEditor, ETL Editor, Import/Sync Managers, and mapping utilities
Editor Classesπ Code Examples
Practical samples plus section-split pages for editor classes and runtime surfaces
ExamplesLatest Updates
Documentation Expansion: 55 comprehensive HTML pages covering all 59 component skills. New: RDBMS Helpers Reference, Datasource Types Reference, ProxyCluster, BeepService, EnvironmentsService, Workflow Engine, Connections & Properties, ObservableBindingList, InMemory & LocalDB DataSources, Composite & Distributed DataSources, and Setup Framework documentation.
.NET 9 Support: Full compatibility with .NET 9 and latest performance optimizations
Complete Documentation Index
Getting Started
| Page | Description |
|---|---|
| BeepService | Central bootstrap service for all BeepDM components |
| Service Registration | Desktop, Web API, and Blazor DI setup |
| Services Lifetimes | DI scoping and lifetime patterns |
| Environment Service | Cross-platform folder management |
| Setup Framework | Wizard-based automated initialization |
Core Concepts
| Page | Description |
|---|---|
| Connections & Properties | IDataConnection, ConnectionProperties, drivers |
| ObservableBindingList | Enhanced binding list with change tracking |
| UnitOfWork Pattern | CRUD, tracking, validation, transactions |
| UnitOfWork Deep Dive | Advanced UoW features |
| Multi-DataSource UoW | Cross-datasource operations |
| UnitOfWork Factory | Runtime type creation |
| UnitOfWork Wrapper | Late-bound access wrapper |
Data Management
| Page | Description |
|---|---|
| Datasource Types Reference | 30+ datasource types with capability matrix |
| WebAPI DataSource | REST API connectivity |
| DataView DataSource | Federated views across sources |
| Composite DataSource | Layered datasource stacking |
| InMemory DataSource | Transient in-memory storage |
| LocalDB DataSource | File-based local database operations |
| Caching API | CacheManager and providers |
| Proxy DataSource | Failover and circuit breaker |
| ProxyCluster | Clustered proxy with routing |
| Distributed DataSource | Sharded distributed data |
| FileManager DataSource | File-based data source management |
| JSON DataSource | JSON document management |
Editor Classes
| Page | Description |
|---|---|
| DMEEditor | Main orchestrator |
| ConfigEditor | Configuration management |
| ETL Editor | Extract, Transform, Load operations |
| DataImportManager | Data import orchestration |
| DataSyncManager | Data synchronization |
| MappingManager | Field mapping (8 partials) |
| DefaultsManager | Default value management |
| FormsManager | Oracle Forms-style UI (30+ partials) |
| MigrationManager | Schema migration |
Advanced Topics
| Page | Description |
|---|---|
| Rules Engine & Parsers | Business rules and parsers |
| Workflow Engine | Multi-step process execution |
| BeepSync Manager | CDC and conflict resolution |
| ETL & Workflow Engine | Legacy ETL integration |
| ETL Engine: Pipeline | Modern pipeline execution |
| ETL Engine: Scheduling | Cron scheduling and backfills |
| ETL Engine: Observability | Metrics, alerts, lineage |
Tools & Reference
| Page | Description |
|---|---|
| AssemblyHandler | DLL loading, NuGet, driver tracking |
| Helpers Runtime Reference | Connection and helper patterns |
| RDBMS Helpers Reference | SQL generation, DDL, DML, features |
| Creating Custom DataSources | Plugin development guide |
| Technical Folder Guides | Module-level structure reference |
| Advanced Tools | Roslyn, reporting, extensions |
Examples & Best Practices
| Page | Description |
|---|---|
| Code Examples | Overview of all examples |
| Examples: Editor Classes | DMEEditor, ETL, Import, Sync, Forms |
| Examples: Runtime Surfaces | UoW, DataView, Caching, Proxy, Rules |
| Best Practices | Performance, security, patterns |
| API Reference | Complete API documentation |
Enhanced Multi-DataSource UnitOfWork: Improved relationship management and cross-datasource operations
Vector Database Support: Added support for ChromaDB, Pinecone, and Milvus vector databases
Γ°ΕΈβΊΒ Γ―ΒΈΒ Data Management Editor Classes
The Beep Data Management Engine includes a comprehensive suite of editor classes that provide specialized functionality for different aspects of data management:
ποΈ DMEEditor
The core orchestrator that manages all data operations, connections, and workflows
DMEEditorπ ETL Editor
Extract, Transform, Load operations with advanced data processing capabilities
ETL Editorπ₯ Data Import Manager
Sophisticated data import operations with validation and transformation
Import ManagerπΊοΈ Mapping Manager
Field and entity mapping between different data sources and formats
Mapping ManagerβοΈ Defaults Manager
Configuration and default value management for data operations
Defaults Managerπ Data Sync Manager
Real-time data synchronization between multiple systems and databases
Sync ManagerβοΈ ConfigEditor
Centralized configuration management with specialized manager architecture
ConfigEditor- Unified Architecture: All editors work seamlessly together
- Extensible Design: Easy to extend and customize for specific needs
- Enterprise Ready: Built for large-scale data operations
- Event-Driven: Rich event system for monitoring and integration
- Async Support: Full async/await support for all operations
- Error Handling: Comprehensive error tracking and recovery
π§ Helper Classes & Utilities
BeepDM includes a comprehensive collection of helper classes that extend core functionality and simplify common data management tasks:
Γ°ΕΈβΕ ConnectionHelper
39 predefined data source configurations including traditional databases, NoSQL, file formats, and vector databases
π§© DataTypeFieldMappingHelper
Comprehensive data type mapping between .NET types and database-specific types
π§ͺ TestConnectionHelper
Async connection testing and validation utilities for all supported data sources
π§ VectorDatabaseHelper
Specialized support for vector databases like ChromaDB, Pinecone, Qdrant, and Milvus
π FileHelper & FileConnectionHelper
File operations, path resolution, and file-based data source utilities
ποΈ RDBMSHelper
SQL generation and relational database-specific operation helpers
Γ°ΕΈβΒ€ StringExtensions
Extended string manipulation and processing utilities
Γ°ΕΈβΕ ConnectionHelper - Comprehensive Data Source Support
ConnectionHelper provides 39 pre-configured data source setups covering enterprise databases, NoSQL systems, file formats, and cutting-edge vector databases. Each configuration includes proper connection strings, driver mappings, and database-specific settings.
π’ Enterprise RDBMS (8 systems)
SQL Server, PostgreSQL, MySQL, DB2, Firebird, VistaDB, SQL Compact, SQLite
Full ADO.NET support with connection pooling, transactions, and advanced features
π± Embedded & Lightweight (4 systems)
SQLite, LiteDB, DuckDB, Realm
Perfect for mobile apps, desktop applications, and edge computing scenarios
ποΈ NoSQL & Document (8 systems)
MongoDB, CouchDB, Couchbase, Firebase, RavenDB, Cassandra, Elasticsearch
Modern document, graph, and wide-column databases for scalable applications
π File Formats (5 formats)
CSV, JSON, Excel (XLS/XLSX), Text Files, DataView
Direct file processing with intelligent schema detection and type mapping
π§ Vector Databases (9 systems)
ChromaDB, Pinecone, Qdrant, Milvus, Weaviate, Redis Vector, Zilliz, Vespa, ShapVector
AI and machine learning ready vector storage with similarity search capabilities
π Streaming & Cloud (5 systems)
Redis, Kafka, Hadoop, Snowflake, OPC
Real-time data streams, big data platforms, and cloud analytics solutions
Getting All Available Configurations
// Get all 39 predefined connection configurations
var allConfigs = ConnectionHelper.GetAllConnectionConfigs();
// Filter by category
var vectorDatabases = allConfigs.Where(c => c.DatasourceCategory == DatasourceCategory.VectorDB).ToList();
var rdbmsSystems = allConfigs.Where(c => c.DatasourceCategory == DatasourceCategory.RDBMS).ToList();
var fileSources = allConfigs.Where(c => c.DatasourceCategory == DatasourceCategory.FILE).ToList();
Console.WriteLine($"Found {vectorDatabases.Count} vector databases");
Console.WriteLine($"Found {rdbmsSystems.Count} RDBMS systems");
Console.WriteLine($"Found {fileSources.Count} file formats");
// Add all configurations to your DME setup
foreach (var config in allConfigs)
{
if (!dmeEditor.ConfigEditor.DataDriversClasses.Any(d => d.GuidID == config.GuidID))
{
dmeEditor.ConfigEditor.DataDriversClasses.Add(config);
}
}
- 39 Data Sources: Comprehensive coverage from traditional to cutting-edge systems
- Production Ready: All configurations tested and optimized for enterprise use
- Vector Database Support: 9 vector databases for AI/ML applications
- Connection String Management: Parameterized templates with automatic substitution
- Security Features: Built-in connection string masking and validation
- File Format Intelligence: Automatic schema detection and type mapping
- LinkConnection2Drivers(): Automatically links connections to appropriate drivers
- ReplaceValueFromConnectionString(): Dynamic parameter substitution in connection strings
- IsConnectionStringValid(): Validates connection strings for different database types
- SecureConnectionString(): Masks sensitive information like passwords and API keys
ποΈ Core Infrastructure Classes
Essential infrastructure components that provide foundational services across the engine:
π§ AssemblyHandler
Dynamic assembly loading, plugin management, and runtime type resolution
π DMLogger
Comprehensive logging system with multiple output targets and log levels
π JsonLoader
High-performance JSON serialization and configuration file management
π§ Util
Common utility functions, string processing, and system operations
β ErrorsInfo
Centralized error tracking, exception handling, and diagnostic information
π ObservableBindingList
Enhanced data binding collections with change notification and tracking
π UnitOfWork Ecosystem
Complete suite of classes supporting the Unit of Work pattern implementation:
π UnitOfWorkFactory
Dynamic creation of strongly-typed and generic UnitOfWork instances
API DetailsποΈ FormsManager
Runtime orchestration for multiple UnitOfWork blocks, cross-entity operations, navigation, validation, and messaging
Forms RuntimeποΈ MultiDataSourceUnitOfWork
Advanced UnitOfWork supporting operations across multiple data sources
Multi-Sourceβ EntityDataMoveValidator
Validation engine for entity operations and data integrity
π EntityTrackingData
Comprehensive change tracking and audit trail management
π ETL & Data Processing
Comprehensive Extract, Transform, Load capabilities and data processing tools:
π ETLScriptManager
ETL script generation, execution, and management
π ETLDataCopier
High-performance data copying between different data sources
π ETLEntityProcessor
Entity-level processing for complex data transformations
β ETLValidator
Data validation and quality checks during ETL operations
π BatchExtensions
Batch processing extensions for large-scale data operations
π File Management System
Comprehensive file processing and data source capabilities:
π CSVDataSource
Full-featured CSV file data source with advanced parsing
π CSVAnalyser
Intelligent CSV structure analysis and schema detection
π§© CSVTypeMapper
Automatic data type mapping and conversion for CSV data
π TextFieldParser
Advanced text field parsing with delimiter detection
π ExcelSheetDefinition
Excel worksheet structure definition and metadata
π ProjectFolder
Project-based file organization and management
βοΈ Workflow & Rules Engine
Powerful workflow orchestration and business rules processing:
π RuleParserFactory
Business rules parsing and expression evaluation
π SyncManager
Real-time data synchronization and conflict resolution
π ReportDataManager
Report data aggregation and processing engine
π’ AppManager
Application lifecycle management and component coordination
π AppTemplate
Application templates and scaffolding system
ποΈ Specialized Manager Classes
ConfigEditor's specialized managers providing focused functionality:
π ConfigPathManager
Configuration path and directory structure management
π DataConnectionManager
Data source connection lifecycle and configuration management
π QueryManager
SQL query repository and database-specific query generation
πΊοΈ EntityMappingManager
Entity structure and field mapping configuration management
π§© ComponentConfigManager
Component, driver, and plugin configuration management
π CantainerManager
Dependency injection container management and service registration
Overview
The Beep Data Management Engine follows a modular, layered architecture designed for scalability, maintainability, and extensibility:
ποΈ Core Layer
DMEEditor, ConfigEditor, UnitOfWork Ecosystem
Central orchestration and configuration management
π Processing Layer
ETL Engine, Workflow Engine, Sync Managers
Data transformation and business process automation
ποΈ Data Access Layer
Data Sources, Connection Management, Query Engine
Unified access to diverse data storage systems
π§ Infrastructure Layer
Logging, Error Handling, Assembly Management
Cross-cutting concerns and system services
ποΈ Helper Layer
Utilities, Extensions, Type Mapping
Reusable components and development accelerators
π¦ Container Layer
Dependency Injection, Service Management
Service composition and lifecycle management
- Separation of Concerns: Each layer has distinct responsibilities
- Dependency Injection: Loose coupling through container management
- Extensibility: Plugin architecture for custom components
- Configuration-Driven: Behavior controlled through configuration
- Multi-Target Support: .NET 6, 7, 8, and 9 compatibility
- Enterprise Ready: Scalable for production workloads