DKNet

EF Core Packages

DKNet.EfCore.* is the Infrastructure Layer of the DKNet framework: EF Core building blocks for entities, persistence, and the SaveChanges pipeline, built for Domain-Driven Design and Onion Architecture. Each package below is independent and opt-in — pull in only what a given DbContext needs.

Foundation

Querying & persistence

SaveChanges pipeline

Data protection & generation

Utilities

How the pieces fit together

Every row is the package’s own ProjectReference set in src/EfCore/ — nothing else in the family is pulled in implicitly.

Package Depends on (inside DKNet) Attaches to your DbContext via
DKNet.EfCore.Abstractions nothing base classes you derive from
DKNet.EfCore.Extensions DKNet.Fw.Extensions, Abstractions UseAutoConfigModel<TContext>()
DKNet.EfCore.Hooks DKNet.Fw.Extensions, Extensions AddDbContextWithHook<TDbContext>()
DKNet.EfCore.Specifications Extensions AddSpecRepo<TDbContext>()
DKNet.EfCore.Events Abstractions, Hooks a hook, plus AddEventPublisher<TDbContext, TImpl>()
DKNet.EfCore.AuditLogs Abstractions, Hooks a hook, plus AddEfCoreAuditLogs<TDbContext, TPublisher>()
DKNet.EfCore.DataAuthorization Extensions, Hooks a global query filter and a hook, via AddDataOwnerProvider<TDbContext, TProvider>()
DKNet.EfCore.Encryption nothing a ValueConverter, via AddEfCoreEncryption<TKeyProvider>()
DKNet.EfCore.DtoGenerator nothing compile time only — nothing is registered
DKNet.EfCore.Relational.Helpers nothing plain DbContext extension methods

Two consequences worth remembering:

The same picture across the whole suite, plus a request and a domain event traced end to end, is in the Architecture Guide.

Package dependency map of the DKNet onion: presentation, application and infrastructure packages all depend inward toward DKNet.EfCore.Abstractions, with Events, AuditLogs and DataAuthorization attaching through DKNet.EfCore.Hooks.