Laraue Software Blog β€” C# .NET Development & Open Source

Real code, real decisions, real tradeoffs. We write about what we build β€” .NET libraries, Telegram bots, AI integrations, and the architecture mistakes worth learning from.

When not to use a nullable foreign key β€” modelling the empty state as a default row
Part 9 of building a Telegram task tracker solo. The issue layer in the web app and the database design decision at its centre β€” when a nullable foreign key is the wrong choice and a dedicated default row is better, using issues, epics and the backlog as the example.
Read β†’