/EventStore-Client-Dotnet

Dotnet Client SDK for the Event Store gRPC Client API written in C#

Primary LanguageC#OtherNOASSERTION

EventStoreDB .NET Client

EventStoreDB is the event-native database, where business events are immutably stored and streamed. Designed for event-sourced, event-driven, and microservices architectures

This is the repository for the .NET client for EventStoreDB version 20+ and uses gRPC as the communication protocol. If you're looking for the TCP client library (legacy), check the EventStoreDB-Client-Dotnet-Legacy repo.

Installation

Reference the nuget package(s) for the API that you would like to call

Streams

Operations

Persistent Subscriptions

Projection Management

User Management

Open Telemetry

Telemetry instrumentation can be enabled by installing the Open Telemetry Extensions package.

Once installed you can configure instrumentation using the AddEventStoreClientInstrumentation extension method on a TracerProviderBuilder.

using var tracerProvider = Sdk.CreateTracerProviderBuilder()
    ...
    .AddEventStoreClientInstrumentation()
    ...
    .Build();

Tracing is the only telemetry currently exported, specifically for the Append and Subscribe (Catchup and Persistent) operations.

For more information about Open Telemetry, refer to the official documentation.

Support

Information on support and commercial tools such as LDAP authentication can be found here: Event Store Support.

CI Status

Build Build Build

Documentation

Documentation for EventStoreDB can be found here: Event Store Docs.

Bear in mind that this client is not yet properly documented. We are working hard on a new version of the documentation.

Communities

Contributing

Development is done on the master branch. We attempt to do our best to ensure that the history remains clean and to do so, we generally ask contributors to squash their commits into a set or single logical commit.