Skip to content
Stream Store library targeting RDBMS based implementations for .NET
C# TSQL PLpgSQL SQLPL Dockerfile Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Test projects target netcoreapp2.1 Aug 20, 2018
artifacts Empty artifacts directory. Fixes #195 Oct 26, 2018
build update Bullseye from 2.3.0 to 2.4.0-rc.2 Jul 20, 2019
src ignore tombstone records in list streams Aug 22, 2019
tests ignore tombstone records in list streams Aug 22, 2019
tools/hal-docs Add a build task that generates json schema markdown documents (needs… Jan 1, 2019
.dockerignore Copy the .git folder to the container for building (needed by sourcel… Dec 24, 2018
.gitattributes Treat ncrunchproject files as binary Dec 12, 2015
.gitignore Add a build task that generates json schema markdown documents (needs… Jan 1, 2019
.travis.yml switch to MinVer Nov 27, 2018
Dockerfile updated packages May 15, 2019
LICENSE Initial commit Mar 8, 2015
NuGet.Config
README.md Update readme (fix MySQL references) Jul 31, 2019
SqlStreamStore.sln
SqlStreamStore.sln.DotSettings - Put tests in /test folder . This will allow /src and /tests have in… Dec 24, 2018
SqlStreamStore.v3.ncrunchsolution - Put tests in /test folder . This will allow /src and /tests have in… Dec 24, 2018
build.cmd Make `docker run` interactive Feb 18, 2019
build.sh Make `docker run` interactive Feb 18, 2019

README.md

SQL Stream Store Build Status release license code size docs status

A stream store library for .NET that specifically targets SQL based implementations. Primarily used to implement Event Sourced applications.

Package Install
SqlStreamStore (includes in-memory version for behaviour testing) NuGet
MS SQL Server / Azure SQL Database NuGet
PostgreSQL / AWS Aurora NuGet
MySQL / AWS Aurora NuGet
Sqlite up for grabs
HTTP Wrapper API On CI Feed

CI Packages available on MyGet

Design considerations:

  • Designed to only ever support RDMBS/SQL implementations.
  • Subscriptions are eventually consistent.
  • API is influenced by (but not compatible with) EventStore.
  • Async only.
  • JSON only event and metadata payloads (usually just a string / varchar / etc).
  • No support for System.Transaction, enforcing the concept of the stream as the consistency and transaction boundary.

Building

Building requires Docker. Solution and tests are run on a linux container with .NET Core leveraging SQL Server, Postgres and MySQL as sibling containers.

  • Windows, run .\build.cmd
  • Linux, run ./build.sh

Note: build does not work via WSL.

Help & Support

Ask questions in the #sql-stream-store channel in the ddd-cqrs-es slack workspace. (Join here).

Licences

Licenced under MIT.

You can’t perform that action at this time.