SQLDBEntityNotifier 2.0.0
dotnet add package SQLDBEntityNotifier --version 2.0.0
NuGet\Install-Package SQLDBEntityNotifier -Version 2.0.0
<PackageReference Include="SQLDBEntityNotifier" Version="2.0.0" />
<PackageVersion Include="SQLDBEntityNotifier" Version="2.0.0" />
<PackageReference Include="SQLDBEntityNotifier" />
paket add SQLDBEntityNotifier --version 2.0.0
#r "nuget: SQLDBEntityNotifier, 2.0.0"
#:package SQLDBEntityNotifier@2.0.0
#addin nuget:?package=SQLDBEntityNotifier&version=2.0.0
#tool nuget:?package=SQLDBEntityNotifier&version=2.0.0
SQLDBEntityNotifier
A comprehensive .NET library for database change tracking notifications across SQL Server, MySQL, and PostgreSQL with advanced Change Data Capture (CDC) features.
๐ Features
- Multi-Database Support: SQL Server, MySQL, and PostgreSQL
- Advanced CDC Features: Change Data Capture with real-time notifications
- Column-Level Filtering: Monitor or exclude specific columns
- Change Analytics: Performance metrics and change pattern analysis
- Schema Change Detection: Real-time schema modification monitoring
- Change Correlation: Identify relationships between changes across tables
- Advanced Routing: Intelligent change routing to multiple destinations
- Change Replay: Replay historical changes for testing and recovery
- Real-time Monitoring: Comprehensive system health and performance monitoring
- High Performance: Optimized for high-throughput scenarios
- Comprehensive Testing: 379+ unit tests with 100% pass rate
๐ฆ Installation
dotnet add package SQLDBEntityNotifier
Or via Package Manager Console:
Install-Package SQLDBEntityNotifier
๐ฏ Quick Start
Basic Usage
using SQLDBEntityNotifier;
// Configure the service
var service = new UnifiedDBNotificationService();
// Set up event handlers
service.OnInsert += (change) => Console.WriteLine($"Insert: {change.TableName}");
service.OnUpdate += (change) => Console.WriteLine($"Update: {change.TableName}");
service.OnDelete += (change) => Console.WriteLine($"Delete: {change.TableName}");
// Start monitoring
await service.StartAsync("Server=localhost;Database=MyDB;Trusted_Connection=true;");
Advanced Configuration
var config = new NotificationConfig
{
ConnectionString = "Server=localhost;Database=MyDB;Trusted_Connection=true;",
DatabaseType = DatabaseType.SqlServer,
MonitorColumns = new[] { "Name", "Email" },
ExcludeColumns = new[] { "Password", "Token" },
EnableCDC = true,
EnableAnalytics = true
};
await service.StartAsync(config);
๐๏ธ Advanced Features
Change Analytics
var analytics = new ChangeAnalytics();
analytics.RecordChange(changeRecord);
var metrics = analytics.GetAggregatedMetrics();
Console.WriteLine($"Total Changes: {metrics.TotalChanges}");
Console.WriteLine($"Average Processing Time: {metrics.AverageProcessingTime}");
Schema Change Detection
var schemaDetector = new SchemaChangeDetection();
var changes = await schemaDetector.DetectSchemaChangesAsync(cdcProvider, "Users");
foreach (var change in changes)
{
Console.WriteLine($"Schema Change: {change.ChangeType} - {change.ColumnName}");
}
Advanced Filtering
var filters = new AdvancedChangeFilters();
filters.AddColumnFilter("Status", "Active");
filters.AddValueFilter("Amount", ">", 1000);
var filteredChanges = filters.ApplyFilters(changes);
๐ง Configuration
Database Types
- SQL Server: Native Change Data Capture support
- MySQL: Binary log replication
- PostgreSQL: WAL replication
Connection Strings
// SQL Server
"Server=localhost;Database=MyDB;Trusted_Connection=true;"
// MySQL
"Server=localhost;Database=MyDB;Uid=root;Pwd=password;"
// PostgreSQL
"Host=localhost;Database=MyDB;Username=postgres;Password=password;"
๐ Performance
- Change Detection Latency: <100ms
- Throughput: 1000+ changes/second
- Memory Usage: <500MB
- CPU Utilization: <20%
๐งช Testing
The library includes comprehensive test coverage:
dotnet test SQLDBEntityNotifier.Tests
Test Results: 379 tests passing (100% pass rate)
๐ Documentation
๐ค Contributing
Contributions are welcome! Please read our contributing guidelines and submit pull requests to our GitHub repository.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Entity Framework Core team for the excellent ORM framework
- Microsoft for .NET platform
- Open source community for inspiration and feedback
๐ Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki
Made with โค๏ธ by Jatin Dave
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Microsoft.Data.SqlClient (>= 5.1.1)
- Microsoft.EntityFrameworkCore (>= 6.0.0)
- Microsoft.EntityFrameworkCore.Relational (>= 6.0.0)
- MySql.Data (>= 8.3.0)
- Npgsql (>= 7.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version 2.0.0 - Advanced CDC Features: Multi-database support (SQL Server, MySQL, PostgreSQL), Column-level filtering, Change analytics and metrics, Schema change detection, Change correlation engine, Advanced routing and filtering, Change replay and recovery, Real-time monitoring, Comprehensive test coverage (379+ tests), Full documentation and examples.