NStore.Domain
1.0.0
dotnet add package NStore.Domain --version 1.0.0
NuGet\Install-Package NStore.Domain -Version 1.0.0
<PackageReference Include="NStore.Domain" Version="1.0.0" />
<PackageVersion Include="NStore.Domain" Version="1.0.0" />
<PackageReference Include="NStore.Domain" />
paket add NStore.Domain --version 1.0.0
#r "nuget: NStore.Domain, 1.0.0"
#:package NStore.Domain@1.0.0
#addin nuget:?package=NStore.Domain&version=1.0.0
#tool nuget:?package=NStore.Domain&version=1.0.0
<img src="logo/logo.png" alt="logo" height="120" align="right" />
NStore
(Yet Another) Opinionated Event Sourcing Library
NStore started as a playground for experimenting with .net Standard, async and a simple API for a Sql/NoSql backed EventStore.
After years of experience running NEventStore in production we wrote NStore from scratch with a simpler and extensible API.
CI Status
| Build server | Platform | Build Status | |
|---|---|---|---|
| AppVeyor | Windows | <img src="https://ci.appveyor.com/api/projects/status/github/proximosrl/nstore?svg=true" alt="Build status" > | |
| GH Actions | Linux | <img src="https://github.com/ProximoSrl/NStore/workflows/NStore%20CI/badge.svg" alt="Build status" > | |
| Azdo | Windows | <img src="https://dev.azure.com/gianmariaricci/Public/_apis/build/status/130" alt="Build status" > |
Quickstart
Setup the streams factory
var streams = new StreamsFactory(new InMemoryPersistence());
open the stream
var post = streams.Open("post/123");
append new data
await post.AppendAsync(new Favorited("users/200", DateTime.UtcNow));
read the stream
await post.ReadAsync(chunk =>
{
Console.WriteLine($"{chunk.PartitionId} #{chunk.Index} => {chunk.Payload}");
return Subscription.Continue;
});
Process the stream
var favs = await post.AggregateAsync<UniqueFavs>();
Console.WriteLine($"{favs.Count} users added '{post.Id}' as favorite");
Full source at src/NStore.Quickstart/Program.cs
Learn
The source comes with a Sample App to illustrate some basic stuff you can do.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- NStore.Core (>= 1.0.0)
-
net10.0
- NStore.Core (>= 1.0.0)
-
net8.0
- NStore.Core (>= 1.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on NStore.Domain:
| Package | Downloads |
|---|---|
|
NStore.Tpl
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 396 | 2/20/2026 |
| 1.0.0-beta0003 | 131 | 2/20/2026 |
| 1.0.0-beta0002 | 130 | 2/20/2026 |
| 1.0.0-beta0000 | 129 | 2/19/2026 |
| 0.22.0-perfs0033 | 141 | 2/11/2026 |
| 0.22.0-perfs0032 | 130 | 2/10/2026 |
| 0.22.0-perfs0028 | 126 | 2/10/2026 |
| 0.22.0-perfs0024 | 125 | 2/9/2026 |
| 0.22.0-perfs0021 | 133 | 2/9/2026 |
| 0.22.0-perfs0019 | 137 | 2/9/2026 |
| 0.22.0-perfs0016 | 127 | 2/9/2026 |
| 0.22.0-multi-aggregate-0002 | 129 | 1/23/2026 |
| 0.22.0-alpha0011 | 128 | 1/23/2026 |
| 0.22.0-alpha0002 | 125 | 1/23/2026 |
| 0.21.0 | 149 | 1/23/2026 |
| 0.21.0-beta0001 | 133 | 1/23/2026 |
| 0.21.0-batchoperations0023 | 129 | 1/20/2026 |
| 0.21.0-batchoperations0022 | 130 | 1/20/2026 |
| 0.21.0-batchoperations0021 | 131 | 1/20/2026 |
| 0.21.0-alpha0022 | 127 | 1/23/2026 |