Savvyio.Domain 5.0.5

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

Savvyio.Domain

Provides the fundamental classes and interfaces to work with the concepts of DDD (Domain Driven Design).

About

An open-source project (MIT license) that provides a SOLID and clean .NET class library for writing DDD, CQRS and Event Sourcing applications.

Your versatile DDD, CQRS and Event Sourcing companion for modern development with .NET 9 and .NET 10.

It is, by heart, free, flexible and built to extend and boost your agile codebelt.

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on Savvyio.Domain:

Package Downloads
Savvyio.App

Provides a complete and convenient set of API additions for building a DDD, CQRS and Event Sourcing enabled .NET application using Microsoft Dependency Injection, Microsoft Entity Framework Core, Dapper, AWS SNS/SQS, Azure Queue Storage/Azure Event Grid and RabbitMQ Worker Queue/Publish-Subscribe.

Savvyio.Extensions.EFCore.Domain

Extend the Savvy I/O support for Microsoft Entity Framework Core - optimized for DDD (Domain Driven Design).

Savvyio.Extensions.DependencyInjection.Domain

Extend the Savvy I/O support for Microsoft Dependency Injection - optimized for DDD (Domain Driven Design).

Savvyio.Domain.EventSourcing

Provides the default implementation of an Aggregate Root that is Event Sourced enabled. Complements the concepts of DDD (Domain Driven Design).

Savvyio.Extensions.DependencyInjection.EFCore.Domain

Extend the Savvy I/O support for Microsoft Dependency Injection with Microsoft Entity Framework Core implementation - optimized for DDD (Domain Driven Design).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.0.5 355 3/29/2026
5.0.4 479 2/28/2026
5.0.3 338 2/20/2026
5.0.2 323 2/15/2026
5.0.1 413 1/24/2026
5.0.0 406 11/15/2025
4.4.2 445 10/20/2025
4.4.1 583 9/15/2025
4.4.0 401 8/31/2025
4.3.0 443 8/29/2025
4.2.0 455 8/25/2025
4.1.1 424 6/16/2025
4.1.0 523 6/9/2025
4.0.3 514 5/28/2025
4.0.2 472 4/18/2025
4.0.1 453 1/31/2025
4.0.0 416 11/13/2024
4.0.0-rc.1 194 11/12/2024
4.0.0-preview.2 147 10/6/2024
4.0.0-preview.1 143 9/6/2024
Loading failed

Version: 5.0.5
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.4
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.3
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.2
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.1
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.0
Availability: .NET 10 and .NET 9

# ALM
- ADDED Support for TFM .NET 10 (LTS)
- REMOVED Support for TFM .NET 8 (LTS)
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.4.2
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.4.1
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.4.0
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.3.0
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.2.0
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.1.1
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.1.0
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.0.3
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.0.2
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs

Version: 4.0.1
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs

Version: 4.0.0
Availability: .NET 9 and .NET 8

# ALM
- REMOVED Support for TFM .NET 6 (LTS)
- CHANGED Dependencies to latest and greatest with respect to TFMs

Version: 3.0.0
Availability: .NET 8 and .NET 6

# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs

Version: 2.1.0
Availability: .NET 8, .NET 7 and .NET 6

# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs

Version: 2.0.0
Availability: .NET 8, .NET 7 and .NET 6

# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs

# Breaking Changes
- REMOVED SerializableAttribute and ISerializable implementations on all custom exceptions due to Microsoft decision on deprecating most of the legacy serialization infrastructure https://github.com/dotnet/docs/issues/34893
- MOVED ITracedAggregateRepository interface in the Savvyio.Domain.EventSourcing namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED ITracedAggregateRoot interface in the Savvyio.Domain.EventSourcing namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED ITracedDomainEvent interface in the Savvyio.Domain.EventSourcing namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IAggregateRepository interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IAggregateRoot interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IDomainEvent interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IDomainEventDispatcher interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IDomainEventHandler interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IEntity interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly

Version: 1.1.0
Availability: .NET 7.0, .NET 6.0

Version: 1.0.0
Availability: .NET 7.0, .NET 6.0

# New Features
- ADDED Aggregate class in the Savvyio.Domain namespace that represents the base class from which all implementations of an Aggregate Root (as specified in Domain Driven Design) should derive
- ADDED AggregateRoot class in the Savvyio.Domain namespace that provides a way to cover the pattern of an Aggregate Root as specified in Domain Driven Design
- ADDED DomainEvent class in the Savvyio.Domain namespace that provides a default implementation of the IDomainEvent interface
- ADDED DomainEventDispatcher class in the Savvyio.Domain namespace that provides a default implementation of the IDomainEventDispatcher interface
- ADDED DomainEventDispatcherExtensions class in the Savvyio.Domain namespace that consist of extension methods for the IDomainEventDispatcher interface: RaiseMany, RaiseManyAsync
- ADDED DomainEventExtensions class in the Savvyio.Domain namespace that consist of extension methods for the IDomainEvent interface: GetEventId, GetTimestamp
- ADDED DomainEventHandler class in the Savvyio.Domain namespace that provides a generic and consistent way of handling Domain Event (as specified in Domain Driven Design) objects that implements the IDomainEvent interface
- ADDED Entity class in the Savvyio.Domain namespace that provides a way to cover the pattern of an Entity as specified in Domain Driven Design
- ADDED IAggregateRepository interface in the Savvyio.Domain namespace that defines a generic way of abstracting persistent repositories (CRUD) that is optimized for Domain Driven Design
- ADDED IAggregateRoot interface in the Savvyio.Domain namespace that defines a marker interface of an Aggregate as specified in Domain Driven Design
- ADDED IDomainEvent interface in the Savvyio.Domain namespace that defines a marker interface that specifies something that happened in the domain that you want other parts of the same domain (in-process/inner-application) to be made aware of
- ADDED IDomainEventDispatcher interface in the Savvyio.Domain namespace that defines a Domain Event dispatcher that uses Fire-and-Forget/In-Only MEP
- ADDED IDomainEventHandler interface in the Savvyio.Domain namespace that specifies a handler responsible for objects that implements the IDomainEvent interface
- ADDED IEntity interface in the Savvyio.Domain namespace that defines an Entity as specified in Domain Driven Design
- ADDED SavvyioOptionsExtensions class in the Savvyio.Domain namespace that consist of extension methods for the SavvyioOptions class: AddDomainEventHandler, AddDomainEventDispatcher
- ADDED SingleValueObject record in the Savvyio.Domain namespace that provides an implementation of ValueObject tailored for handling a single value
- ADDED ValueObject record in the Savvyio.Domain namespace that represents an object whose equality is based on the value rather than identity as specified in Domain Driven Design
- ADDED ITracedAggregateRepository interface in the Savvyio.Domain.EventSourcing namespace that defines a generic way of abstracting traced read- and writable repositories (CRud) that is optimized for Domain Driven Design
- ADDED ITracedAggregateRoot interface in the Savvyio.Domain.EventSourcing namespace that defines an Event Sourcing capable contract of an Aggregate as specified in Domain Driven Design
- ADDED ITracedDomainEvent interface in the Savvyio.Domain.EventSourcing namespace that specifies something that happened in the domain that you want other parts of the same domain (in-process/inner-application) to be aware of