Sparkdo.Domain 2.0.0-preview.2

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

Sparkdo.Domain

Sparkdo.Domain 是 Sparkdo 的纯 C# DDD 核心。它提供实体身份、聚合根、不可变值对象和聚合内领域事件缓冲,不依赖 EF Core、数据库、工作单元、事务、EventBus、审计或宿主框架。

核心边界

  • Entity<TId> 以运行时类型和非默认 ID 判断身份。
  • AggregateRoot<TId> 通过受保护的 AddEvent 按顺序记录领域事件。
  • IHasDomainEvents.DomainEvents 只读暴露稳定快照;普通业务代码不能清空事件。
  • ValueObject 使用具体类型和组件序列进行结构性相等判断。
  • 聚合专属仓储端口由具体业务产品域定义,本包不提供泛型仓储。
public sealed record OrderCreated(Guid OrderId) : IDomainEvent;

public sealed class Order(Guid id) : AggregateRoot<Guid>(id)
{
    public void Confirm()
    {
        AddEvent(new OrderCreated(Id));
    }
}

事件清空属于持久化适配器使用的内部 SPI。提交失败时事件仍保留,外部协调器只有在完成发布后才清空它们。

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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0-preview.2 45 7/20/2026