# Event Store

The library provides a simple interface that allows you to interact with Azure Cosmos DB as an event store.

This interface is the IEventStore<TEventItem>, this allows you to save events, save aggregate roots that holds events. Read all events, stream events using IAsyncEnumerable<T> and query events to limit the set of events that are returned.

The event store also handles the polymorphic serialization and de-serialization. This is done via a customer JsonConverter<T>. This library currently uses Newtonsoft.Json as this is what the underlying Cosmos DB SDK supports as of writing this.