Excalibur.Data.Abstractions
3.0.0-alpha.19
dotnet add package Excalibur.Data.Abstractions --version 3.0.0-alpha.19
NuGet\Install-Package Excalibur.Data.Abstractions -Version 3.0.0-alpha.19
<PackageReference Include="Excalibur.Data.Abstractions" Version="3.0.0-alpha.19" />
<PackageVersion Include="Excalibur.Data.Abstractions" Version="3.0.0-alpha.19" />
<PackageReference Include="Excalibur.Data.Abstractions" />
paket add Excalibur.Data.Abstractions --version 3.0.0-alpha.19
#r "nuget: Excalibur.Data.Abstractions, 3.0.0-alpha.19"
#:package Excalibur.Data.Abstractions@3.0.0-alpha.19
#addin nuget:?package=Excalibur.Data.Abstractions&version=3.0.0-alpha.19&prerelease
#tool nuget:?package=Excalibur.Data.Abstractions&version=3.0.0-alpha.19&prerelease
Excalibur.Data.Abstractions
Data access abstractions for the Excalibur framework.
Installation
dotnet add package Excalibur.Data.Abstractions
Purpose
This package provides database-agnostic data access abstractions using the Data Request pattern. Use it when building data access layers with Dapper or raw ADO.NET while maintaining clean separation between domain and infrastructure concerns.
Key Types
IDb- Database abstraction interfaceIDataRequest/IDataRequest<TConnection, TModel>- Data request patternDataRequest<TModel>- SQL data request base classIUnitOfWork- Unit of work patternResourceException- Resource operation exceptionConcurrencyException- Optimistic concurrency exceptionIQueryExecutor- Query execution abstractionIDocumentDb- Document database abstraction
Quick Start
// Define a data request
public class GetOrderById : DataRequest<Order>
{
public string OrderId { get; }
public GetOrderById(string orderId)
{
OrderId = orderId;
}
public override async Task<Order?> ExecuteAsync(
IDbConnection connection,
CancellationToken cancellationToken)
{
return await connection.QuerySingleOrDefaultAsync<Order>(
"SELECT * FROM Orders WHERE Id = @OrderId",
new { OrderId });
}
}
// Execute via IDb
public class OrderRepository
{
private readonly IDb _db;
public OrderRepository(IDb db) => _db = db;
public Task<Order?> GetByIdAsync(string orderId, CancellationToken ct)
=> _db.ExecuteAsync(new GetOrderById(orderId), ct);
}
Documentation
Full documentation: https://github.com/TrigintaFaces/Excalibur
License
This project is multi-licensed under:
See LICENSE for details.
| 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 is compatible. 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
- Ben.Demystifier (>= 0.4.1)
- Dapper (>= 2.1.66)
- Excalibur.Dispatch.Abstractions (>= 3.0.0-alpha.19)
- Excalibur.Domain (>= 3.0.0-alpha.19)
- Medo.Uuid7 (>= 1.4.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
-
net8.0
- Ben.Demystifier (>= 0.4.1)
- Dapper (>= 2.1.66)
- Excalibur.Dispatch.Abstractions (>= 3.0.0-alpha.19)
- Excalibur.Domain (>= 3.0.0-alpha.19)
- Medo.Uuid7 (>= 1.4.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.0)
-
net9.0
- Ben.Demystifier (>= 0.4.1)
- Dapper (>= 2.1.66)
- Excalibur.Dispatch.Abstractions (>= 3.0.0-alpha.19)
- Excalibur.Domain (>= 3.0.0-alpha.19)
- Medo.Uuid7 (>= 1.4.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.0)
NuGet packages (27)
Showing the top 5 NuGet packages that depend on Excalibur.Data.Abstractions:
| Package | Downloads |
|---|---|
|
Excalibur.Data
Data access layer implementation for Excalibur with repository patterns, unit of work, and data abstractions. Provides concrete implementations for data persistence. |
|
|
Excalibur.A3
Authorization, Authentication, and Audit (A3) services for the Excalibur framework. |
|
|
Excalibur.Cdc
Change Data Capture (CDC) abstractions for Excalibur, providing fluent builder configuration for table change tracking. |
|
|
Excalibur.EventSourcing.Abstractions
Event sourcing abstractions for the Excalibur framework. |
|
|
Excalibur.Data.InMemory
In-memory provider implementation for Excalibur data access layer testing. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-alpha.19 | 77 | 2/26/2026 |