Sources

JM Jeremy D. Miller (The Shade Tree Developer)
Blog

5stories
4 d agolatest
Event Sourcing
Decider over aggregates

Using Event Sourcing? Prefer the Decider over AggregateRoot

Jeremy D. Miller strongly recommends that Event Sourcing developers model domain logic with the Decider pattern instead of the older AggregateRoot pattern. He explains why pure decide functions in Marten and Wolverine handlers are easier to reason about, test and debug. The post is a useful reference for anyone choosing a design for event-sourced .NET systems.

Bobcat 1.0
Readable C# specs

Writing executable specifications with Bobcat in C#

Critter Stack's new Bobcat 1.0 turns ordinary C# tests into readable executable specifications. The author starts from an existing xUnit test, adds step helpers, then covers decision tables and set verification for collections. It is a practical walkthrough for .NET teams who want reviewable tests without a Gherkin layer.

Bobcat 1.0
Specs from your tests

Bobcat 1.0 is out: readable C# specifications projected from your tests

JasperFx has released Bobcat 1.0, an MIT-licensed tool that projects human-readable specifications from the test frameworks you already use, including xUnit.net, TUnit, MSTest and NUnit. No Gherkin or wiki files are needed, only C# or F#. It also brings Supervisor for more reliable integration suites and telemetry output aimed at AI agents debugging failing tests.

Marten 8
Read your own writes

Read your own writes with Marten: ProjectLatest and Wolverine's UpdatedAggregate

Jeremy D. Miller explains how to read your own writes in event-sourced systems that use async projections in Marten. Switching from FetchLatest to ProjectLatest removes an extra database round trip by reusing pending events in the session. Wolverine's UpdatedAggregate type then lets HTTP endpoints and message handlers return the current aggregate with less code.

Marten
Storing type hierarchies

Storing and Querying a Hierarchy of Types with Marten

Jeremy D. Miller shows how Marten stores a class hierarchy in one PostgreSQL table and queries it with LINQ, without the table-per-type or table-per-concrete-type decisions EF Core requires. He also covers subtype-specific partial indexes and duplicated fields. For teams weighing document storage against EF Core inheritance mapping, it is a useful comparison.

Feedback

Found a bug or have an idea? Your message lands straight in my inbox.

Type of message