https://github.com/mv10/eventstreamdotnet
A free, easy-to-use Event Stream library for .NET and SQL Server
https://github.com/mv10/eventstreamdotnet
dotnet event-sourcing event-stream
Last synced: 11 months ago
JSON representation
A free, easy-to-use Event Stream library for .NET and SQL Server
- Host: GitHub
- URL: https://github.com/mv10/eventstreamdotnet
- Owner: MV10
- License: mit
- Created: 2020-09-25T10:27:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-04T11:03:47.000Z (over 5 years ago)
- Last Synced: 2025-03-28T17:06:38.476Z (about 1 year ago)
- Topics: dotnet, event-sourcing, event-stream
- Language: C#
- Homepage:
- Size: 170 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EventStreamDotNet
A free, easy-to-use Event Stream library for .NET and SQL Server.
* [Documentation](Docs/index.md)
* [NuGet package version 1.0.0](https://www.nuget.org/packages/EventStreamDotNet/1.0.0)
Features:
* delta logging (domain events represent data model revisions)
* version (ETag) validation
* multiple domain data models can be managed within one application
* configurable snapshot policies
* snapshotting is handled internally by the event stream manager
* projections can be driven off applied events or snapshot updates
The client application is responsible for providing:
* the domain data model object graph
* the domain event classes (describes changes to the data model)
* the domain event handler (applies event changes to the state)
* optional projection handlers (extracts data after changes applied)
* services (likely CQRS) for interacting with the event stream manager
Requirements:
* the domain data model has a single POCO as the root object
* a POCO object graph represents the complete domain model
* the root object can be represented by a unique string ID
* changes to the domain model are represented by domain event POCOs
* domain events are past-tense (in the sense of applied CQRS commands)
Package dependencies:
* JSON.Net
* Microsoft.Extensions.DependencyInjection
* Microsoft.Extensions.Logging
* System.Data.SqlClient