---
title: "Event Sourcing: the not-so-simple bi-temporal basics"
url: https://daily.dev/posts/event-sourcing-the-not-so-simple-bi-temporal-basics-t4ntaclgn
source_url: https://www.planetgeek.ch/2026/06/02/event-sourcing-the-not-so-simple-bi-temporal-basics
type: article
source: "We Are .NET"
published: 2026-06-02T08:12:34.017Z
updated: 2026-06-02T08:12:58.704Z
tags: ["architecture", ".net", "domain-driven-design"]
reading_time: 7
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Event Sourcing: the not-so-simple bi-temporal basics

**[We Are .NET](https://daily.dev/sources/wearedotnet)** · 7 min read · 0 upvotes · 0 comments

## Summary

Part eight of an event sourcing series covering bi-temporal event sourcing fundamentals. Explains why two timestamps are needed — an application timestamp (when the event entered the system) and an effective timestamp (when it takes effect) — enabling queries against past, present, or future states. Introduces the concept of timelines as a projection mechanism built from bi-temporal event streams, covering sort ordering (effective time first, application time as tiebreaker), granularity differences between the two timestamps, and a concrete F# code example using a TimelineProjector with organisation chart events.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.planetgeek.ch/2026/06/02/event-sourcing-the-not-so-simple-bi-temporal-basics>

## Similar posts on daily.dev

- [Event Sourcing: set-and-remove-based bi-temporal events](https://daily.dev/posts/event-sourcing-set-and-remove-based-bi-temporal-events-8de56bzad) · We Are .NET · 1 upvotes · 0 comments
- [Event Sourcing: Simple is often enough](https://daily.dev/posts/event-sourcing-simple-is-often-enough-ijvzsfk43) · We Are .NET · 0 upvotes · 0 comments
- [Event sourcing: non-bi-temporal events in a bi-temporal stream](https://daily.dev/posts/event-sourcing-non-bi-temporal-events-in-a-bi-temporal-stream-8scwvqj99) · We Are .NET · 0 upvotes · 0 comments
- [Event Sourcing: undo set-remove-based bi-temporal events – because we must](https://daily.dev/posts/event-sourcing-undo-set-remove-based-bi-temporal-events-because-we-must-y6cpmwees) · We Are .NET · 0 upvotes · 0 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#.net](https://daily.dev/tags/.net), [#domain-driven-design](https://daily.dev/tags/domain-driven-design)

[View this post on daily.dev](https://daily.dev/posts/event-sourcing-the-not-so-simple-bi-temporal-basics-t4ntaclgn)
