SQLDBEntityNotifier 2.0.0

dotnet add package SQLDBEntityNotifier --version 2.0.0
                    
NuGet\Install-Package SQLDBEntityNotifier -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SQLDBEntityNotifier" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SQLDBEntityNotifier" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="SQLDBEntityNotifier" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SQLDBEntityNotifier --version 2.0.0
                    
#r "nuget: SQLDBEntityNotifier, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SQLDBEntityNotifier@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SQLDBEntityNotifier&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=SQLDBEntityNotifier&version=2.0.0
                    
Install as a Cake Tool

SQLDBEntityNotifier

NuGet Version NuGet Downloads License: MIT .NET 6.0

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


Made with โค๏ธ by Jatin Dave

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 170 9/5/2025
1.3.0 174 9/3/2025
1.2.0 282 9/3/2025 1.2.0 is deprecated because it has critical bugs.
1.0.0 91 8/2/2025

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.