Perago.SharedKernel.Abstraction.Domain
1.0.98
dotnet add package Perago.SharedKernel.Abstraction.Domain --version 1.0.98
NuGet\Install-Package Perago.SharedKernel.Abstraction.Domain -Version 1.0.98
<PackageReference Include="Perago.SharedKernel.Abstraction.Domain" Version="1.0.98" />
<PackageVersion Include="Perago.SharedKernel.Abstraction.Domain" Version="1.0.98" />
<PackageReference Include="Perago.SharedKernel.Abstraction.Domain" />
paket add Perago.SharedKernel.Abstraction.Domain --version 1.0.98
#r "nuget: Perago.SharedKernel.Abstraction.Domain, 1.0.98"
#:package Perago.SharedKernel.Abstraction.Domain@1.0.98
#addin nuget:?package=Perago.SharedKernel.Abstraction.Domain&version=1.0.98
#tool nuget:?package=Perago.SharedKernel.Abstraction.Domain&version=1.0.98
Perago.SharedKernel.Abstraction.Domain
Domain-level abstractions including base entity classes, value objects, specification helpers, result/error types, and clock abstractions for .NET applications.
Installation
dotnet add package Perago.SharedKernel.Abstraction.Domain
Getting Started
Define an Entity
public class Order : Entity<Guid>
{
public string OrderNumber { get; set; }
public decimal Total { get; set; }
}
Base Types
Entity<TId>— base class for domain entities withIdand domain eventsValueObject— base class for value objects (GetAtomicValues())ISpecfication<T>,AndSpecification<T>,OrSpecification<T>— specification helpersResult/Result<T>— expected business outcomes without exceptionsError/ValidationError— consistent error contractsISystemClock/SystemClock/FakeSystemClock— testable UTC time
Result and Clock Usage
services.AddSystemClock();
public Result<Order> CreateOrder(decimal total, ISystemClock clock)
{
if (total <= 0)
{
return Result<Order>.Failure(new Error("order.total", "Total must be positive."));
}
var order = new Order { OrderNumber = clock.UtcNow.ToString("O") };
return Result<Order>.Success(order);
}
See docs/RESULTS.md and docs/TIME_AND_CLOCK.md in the package.
Dependencies
- MediatR (12.5.0)
- Microsoft.EntityFrameworkCore (10.0.12)
Target Frameworks
- net10.0
License
MIT
| Product | Versions 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. |
-
net10.0
- MediatR (>= 12.5.0)
- Microsoft.EntityFrameworkCore (>= 10.0.12)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Options (>= 10.0.12)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Perago.SharedKernel.Abstraction.Domain:
| Package | Downloads |
|---|---|
|
Perago.SharedKernel.Abstraction.Application
Common Behaviors for the Application layer. |
|
|
Perago.SharedKernel.Uliday.Core
Shared utilities: working calendars, common helpers, and domain models. |
|
|
Perago.SharedKernel.IntegrationEventLogEF
EF Core-based integration event log for outbox pattern. |
|
|
Perago.SharedKernel.Authorization
API authentication, HMAC request signing, and ASP.NET Core observability middleware for Perago services. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.98 | 123 | 9/19/2026 |
| 1.0.97 | 113 | 9/19/2026 |
| 1.0.96 | 131 | 9/16/2026 |
| 1.0.95 | 132 | 9/11/2026 |
| 1.0.94 | 118 | 9/11/2026 |
| 1.0.93 | 124 | 9/11/2026 |
| 1.0.92 | 155 | 9/5/2026 |
| 1.0.91 | 127 | 8/31/2026 |
| 1.0.90 | 128 | 8/30/2026 |
| 1.0.89 | 147 | 8/29/2026 |
| 1.0.88 | 191 | 8/19/2026 |
| 1.0.87 | 158 | 8/18/2026 |
| 1.0.86 | 153 | 8/17/2026 |
| 1.0.85 | 155 | 8/11/2026 |
| 1.0.84 | 135 | 8/9/2026 |
| 1.0.83 | 154 | 8/8/2026 |
| 1.0.82 | 194 | 7/23/2026 |
| 1.0.81 | 167 | 7/23/2026 |
| 1.0.80 | 160 | 7/23/2026 |
| 1.0.79 | 164 | 7/23/2026 |