CacheOrchestrator.EFCore.Invalidation
3.0.0-beta.5
dotnet add package CacheOrchestrator.EFCore.Invalidation --version 3.0.0-beta.5
NuGet\Install-Package CacheOrchestrator.EFCore.Invalidation -Version 3.0.0-beta.5
<PackageReference Include="CacheOrchestrator.EFCore.Invalidation" Version="3.0.0-beta.5" />
<PackageVersion Include="CacheOrchestrator.EFCore.Invalidation" Version="3.0.0-beta.5" />
<PackageReference Include="CacheOrchestrator.EFCore.Invalidation" />
paket add CacheOrchestrator.EFCore.Invalidation --version 3.0.0-beta.5
#r "nuget: CacheOrchestrator.EFCore.Invalidation, 3.0.0-beta.5"
#:package CacheOrchestrator.EFCore.Invalidation@3.0.0-beta.5
#addin nuget:?package=CacheOrchestrator.EFCore.Invalidation&version=3.0.0-beta.5&prerelease
#tool nuget:?package=CacheOrchestrator.EFCore.Invalidation&version=3.0.0-beta.5&prerelease
CacheOrchestrator.EFCore.Invalidation
CacheOrchestrator is a multi-tier cache coordination and synchronized invalidation library for .NET.
This package hooks EF Core SaveChanges: map a CLR type to (domain, entityKind); after the owning transaction commits, matching entity tags are purged through ICacheOrchestratorInvalidator.
Install
dotnet add package CacheOrchestrator.EFCore.Invalidation --prerelease
Configuration
Domain policy (same as the rest of CacheOrchestrator). Optional interceptor options:
{
"Cache": {
"Domains": {
"catalog": {
"Version": "1",
"DataCache": { "TtlSeconds": 300 },
"OutputCache": { "TtlSeconds": 60 }
}
},
"EFCore": {
"Invalidation": {
"Enabled": true
}
}
}
}
Usage
dotnet add package CacheOrchestrator --prerelease
dotnet add package CacheOrchestrator.EFCore.Invalidation --prerelease
builder.Services.AddCacheOrchestrator(builder.Configuration);
builder.Services.AddCacheOrchestratorEfCoreInvalidation(builder.Configuration);
builder.Services.AddDbContext<AppDbContext>((sp, opt) =>
{
opt.UseSqlServer(connectionString);
opt.AddCacheOrchestratorInvalidation(sp);
});
// In OnModelCreating (or Map<T> / [CacheEntity]):
modelBuilder.Entity<Product>().CacheInvalidate("catalog", "products");
Tracked SaveChanges captures generated ids after a successful save. A save without an enclosing transaction invalidates immediately; explicit EF transactions defer and coalesce invalidation until Commit / CommitAsync, and ambient transactions defer until their completion notification. Rollbacks discard pending invalidation. ExecuteUpdate and ExecuteDelete bypass the change tracker and require explicit invalidation.
Documentation
License
MIT — LICENSE.md
Commit externally supplied relational transactions through EF's IDbContextTransaction wrapper so the transaction interceptor observes their outcome. A raw ADO.NET commit outside EF requires explicit invalidation after the owner confirms the commit. Delivery is best effort and process local; use an application outbox when invalidation must survive a process failure. See the transaction contract.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 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. |
-
net10.0
- CacheOrchestrator.Core (>= 3.0.0-beta.5)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.10)
-
net8.0
- CacheOrchestrator.Core (>= 3.0.0-beta.5)
- Microsoft.EntityFrameworkCore.Relational (>= 8.0.22)
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 | |
|---|---|---|---|
| 3.0.0-beta.5 | 74 | 9/8/2026 | |
| 3.0.0-beta.4 | 70 | 9/7/2026 | |
| 3.0.0-beta.3 | 81 | 8/30/2026 | |
| 3.0.0-beta.2 | 73 | 8/25/2026 | |
| 3.0.0-beta.1 | 75 | 8/25/2026 | |
| 2.1.0 | 138 | 8/15/2026 | |
| 2.0.0 | 134 | 8/13/2026 |
CacheOrchestrator 3.0.0-beta.5
v3 beta.5 fixes authenticated cache-key collisions, HTTP representation identity, entity-footprint tag publication, EF transaction-aware invalidation, and Redis backend isolation. Runtime settings update atomically, cluster commands report incomplete execution, and queued Edge purges retain their original destinations. Public API contracts, documentation, regression coverage, and package/analyzer checks are aligned for 3.0.
Full notes: https://github.com/CacheOrchestrator/CacheOrchestrator/releases/tag/v3.0.0-beta.5