Clywell.Core.Audit 1.0.1

dotnet add package Clywell.Core.Audit --version 1.0.1
                    
NuGet\Install-Package Clywell.Core.Audit -Version 1.0.1
                    
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="Clywell.Core.Audit" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Clywell.Core.Audit" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Clywell.Core.Audit" />
                    
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 Clywell.Core.Audit --version 1.0.1
                    
#r "nuget: Clywell.Core.Audit, 1.0.1"
                    
#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 Clywell.Core.Audit@1.0.1
                    
#: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=Clywell.Core.Audit&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Clywell.Core.Audit&version=1.0.1
                    
Install as a Cake Tool

Clywell.Core.Audit

Audit trail abstractions and EF Core implementation for .NET — entity change tracking, manual audit logging, and pluggable audit persistence.

Installation

dotnet add package Clywell.Core.Audit

For automatic EF Core change tracking:

dotnet add package Clywell.Core.Audit.EntityFramework

Packages

Package Description
Clywell.Core.Audit Audit abstractions — models, interfaces, and direct audit API. Zero infrastructure dependency.
Clywell.Core.Audit.EntityFramework EF Core implementation — automatic change tracking via SaveChangesInterceptor.

Quick Start

Manual Audit Logging

services.AddAudit();
services.AddScoped<IAuditLogger, MyAuditLogger>();

Implement IAuditLogger to define where audit records are persisted:

public class MyAuditLogger : IAuditLogger
{
    public Task LogAsync(IReadOnlyList<AuditEntry> entries, CancellationToken ct)
    {
        // Persist to database, queue, file, etc.
        return Task.CompletedTask;
    }
}

Automatic EF Core Change Tracking

services.AddAudit(options =>
{
    options.AuditOnly<Order>();
    options.AuditOnly<Product>();
});
services.AddScoped<IAuditLogger, MyAuditLogger>();
services.AddAuditEntityFramework();

services.AddDbContext<AppDbContext>((sp, options) =>
{
    options.UseSqlServer(connectionString)
           .UseAuditInterceptor(sp);
});

Notes

  • IAuditLogger is required. Register your implementation in DI before writing audit records.
  • SaveChangesAsync is required for EF interception. Synchronous SaveChanges() is intentionally not supported by AuditSaveChangesInterceptor.
  • AddAuditEntityFramework() registers the interceptor; attach it to each DbContext with UseAuditInterceptor(sp).

Compatibility

  • .NET target: net10.0
  • EF integration dependency: Microsoft.EntityFrameworkCore

Key Concepts

  • Delta-only tracking: For Updated actions, only properties that actually changed are recorded.
  • Scoped resolution: The interceptor is a singleton but resolves IAuditLogger, IAuditUserProvider, and IAuditTimestampProvider per-invocation — safe for scoped dependencies.
  • Database-generated keys: For Created actions with identity columns, EntityId reflects the temporary key (e.g., "0") since interception occurs before the database assigns the final value.

License

MIT — see LICENSE.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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 (1)

Showing the top 1 NuGet packages that depend on Clywell.Core.Audit:

Package Downloads
Clywell.Core.Audit.EntityFramework

EF Core implementation of Clywell.Core.Audit — automatic entity change tracking via SaveChangesInterceptor with delta-only property change recording.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 379 3/15/2026
1.0.0 132 3/4/2026