Subscribe
Repeated HTTP calls to the same endpoint add up fast. Replicant wraps HttpClient with disk-based caching, respects standard cache headers and can cut response times on subsequent requests.
Query specifications encapsulate Where, Include, OrderBy and paging for EF Core. Not the classic GoF IsSatisfiedBy pattern. Build your own or use Ardalis.Specification.
Repeated GETs for unchanged data waste work. Delta builds ETags from SQL Server change tracking so browsers can get 304 Not Modified without re-running your query.
Shared database state makes integration tests flaky. Respawn resets tables between tests so WebApplicationFactory and Testcontainers stay fast, isolated and reliable.
C# enums are lightweight but limited. Smart enums give you type-safe instances with FromId, FromName and List, plus clean EF Core mapping and JSON serialization.
Primitives hide domain meaning. Value objects model concepts like Money and Address with value equality, immutability and rules built in.
Stopwatch timing clutter adds up fast. MethodTimer.Fody weaves duration logging at compile time with a [Time] attribute, optional custom loggers and parameter values in messages.
Dapper does not wrap writes in an implicit transaction. Learn BeginTransaction, Dapper.Transaction and TransactionScope so related SQL statements commit or roll back together.