EventStore Client F# API for (Contact hi at qvitoo dot com for an up to date version)
Clone or download
Latest commit 85efea3 Jul 30, 2015

EventStore.Client F# API

This project currently targets EventStore 3.0.

This is a project that aims to bring a smooth F# API to your codes.

Currently, has almost APIs mapped out. Documentation is in the form of XML-docs that accompanies the assembly.

v4.0 is not API compatibible with v3.x, but otherwise works well with ES v3.x.


Usage open EventStore.Client. If using Repo and Aggregate, you should use the nuget Newtonsoft.Json.FSharp to get access to Serialisation.serialise and Serialisation.deserialise, which are the two serialisation functions that work well.

Global in EventStore.Client namespace

  • EventVersion
  • ExpectedVersionUnion
  • ResolveLinksStrategy
  • Connection - a wrapper interface that this nuget implements on top of EventStore.Client.IEventStoreConnection which allows for easy mocking and stubbing against the more precise F# types.


Wrapper F# API for the connection settings builder in the event store client API.

Types (auto opened)

F# types for working with EventStore. Complete with reflection to get around the private constructors.


Module with methods for working with Connection.


Module with methods for working with EventStoreTransaction.


Module that is a helper module for writing sane data about events to the streams.

Aggregate (qualified)

Module that is a helper module for working with transducers in the form of Aggregates from F#.


Module that is a helper module for easily loading and saving event-sourced aggregates.


Please see the issue tracker on this github - and use it to ask questions. Anyone is welcome to answer.


  • Release for 3.1.0 together with helper CQRS lib (moving higher-level patterns there)
  • Snapshot helpers for Aggregates