HoneyDrunk.Data.Abstractions 0.7.0

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

HoneyDrunk.Data.Abstractions

Contracts-only project defining persistence abstractions for HoneyDrunk nodes. This project contains no implementation details and no provider-specific types.

Purpose

Defines the public contract surface for persistence operations. Consumer nodes are expected to depend on these abstractions rather than concrete implementations.

Note: These are contracts, not guarantees. Enforcement of layering, tenant isolation, and coordination semantics lives in higher layers (orchestration, providers, application code), not in this package.

Allowed Dependencies

  • HoneyDrunk.Kernel.Abstractions - For context and operation contracts
  • HoneyDrunk.Standards - Analyzer package only (PrivateAssets=all)

What Must Never Be Added

  • No EntityFrameworkCore references - This is provider-agnostic
  • No SQL or database-specific types - No connection strings, DbContext, etc.
  • No transport or auth references - HoneyDrunk.Transport and HoneyDrunk.Auth are not persistence concerns
  • No implementation classes - Only interfaces and value types

Namespace Layout

HoneyDrunk.Data.Abstractions
├── Diagnostics/          # Health checks, telemetry context
│   ├── DataHealthResult.cs
│   ├── IDataDiagnosticsContext.cs
│   └── IDataHealthContributor.cs
├── Repositories/         # Repository contracts
│   ├── IReadOnlyRepository.cs
│   └── IRepository.cs
├── Tenancy/              # Tenant identity and resolution contracts
│   ├── ITenantAccessor.cs
│   ├── ITenantResolutionStrategy.cs
│   └── TenantId.cs
└── Transactions/         # Unit of work and transaction scopes
    ├── ITransactionScope.cs
    ├── IUnitOfWork.cs
    └── IUnitOfWorkFactory.cs

Key Concepts

Tenancy

TenantId is a typed identifier for tenant context. ITenantAccessor provides access to the current tenant identity. ITenantResolutionStrategy is a contract for mapping tenant identity to database resources (connection strings, schemas)—implementation is provider-specific or application-specific; no default implementation is provided.

Repositories

Repository interfaces for data access patterns. IReadOnlyRepository<T> defines query operations; IRepository<T> extends it with mutations. The separation is conceptual—providers may implement both via a single type, and consumers are not required to use the read-only interface.

Transactions

IUnitOfWork exposes a coordination boundary for persistence operations. ITransactionScope provides explicit transaction boundaries when needed. Atomicity and coordination semantics depend on the provider implementation—these contracts do not guarantee cross-store transactions or distributed safety.

Diagnostics

IDataHealthContributor allows data components to participate in health checks. IDataDiagnosticsContext exposes diagnostic context (correlation ID, node ID) when available—it does not guarantee context exists or define propagation semantics.

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 (3)

Showing the top 3 NuGet packages that depend on HoneyDrunk.Data.Abstractions:

Package Downloads
HoneyDrunk.Data

Provider-neutral persistence orchestration layer for HoneyDrunk.OS Grid. Complete architecture overhaul with Kernel integration for tenant resolution, correlation tracking, and telemetry enrichment. Does not depend on any specific database provider.

HoneyDrunk.Data.EntityFramework

Entity Framework Core provider implementation for HoneyDrunk.Data. Complete architecture overhaul with tenant-aware DbContext, repository pattern, unit of work, command interceptors for correlation tracking, and health contributors.

HoneyDrunk.Audit.Data

Data-backed runtime implementation for HoneyDrunk.Audit.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.7.0 122 5/27/2026
0.6.0 381 5/18/2026
0.5.1 155 5/4/2026
0.5.0 135 5/4/2026
0.4.0 143 4/25/2026
0.3.0 141 2/15/2026
0.2.0 147 1/6/2026

v0.7.0: ADR-0011 D11 Sonar cleanup — IUnitOfWork<TContext> exposes ContextType DIM, CorrelationCommandInterceptor switches to a strict allow-list sanitizer, EF naming convention refactored under cognitive-complexity limit. Bumps Kernel 0.7.0→0.8.0, Vault* 0.5.0→0.7.0, Transport 0.6.0→0.7.1, Microsoft.EntityFrameworkCore* and Microsoft.Extensions.* 10.0.7→10.0.8.