Ever wondered why binding to immutable records becomes such a pain in Blazor?
Because binding requires flexibility. The good old get; set; properties shine here — Blazor can freely read and write values as the user types.
But use a record (with get; init; or fully immutable), and Blazor forms suddenly struggle to set your objects. The result? Very unpredictable behavior — values not updating, silent failures, and hours of debugging.
Records are great for:
✅ Read models
✅ DTOs
✅ Domain events
But for Blazor forms? You'll fight the framework more than if you'd just used a plain class.
Save yourself the headache: classes for forms, records for data. 🎯

Top comments (0)