Subscribe
Unit of Work is a transaction boundary for related changes, not a DbContext wrapper. With EF Core you already have it. With Dapper, you coordinate the connection and transaction yourself.
Inconsistent API errors make clients hard to write. Problem Details give ASP.NET Core a standard shape for HTTP failures, from expected endpoint errors to global exception handling.
Database transactions ensure multiple operations succeed or fail together. EF Core wraps SaveChanges in an implicit transaction, with explicit transactions and savepoints for more complex flows.
You do not need a class library per layer to follow Clean Architecture. One ASP.NET Core project, clear namespaces and NsDepCop or architecture tests can enforce the same dependency rules as a multi-project solution.
EF Extensions offers many bulk operation options, from insert behavior and column mapping to update rules, graphs, batching, synchronization, auditing and transactions.
Coravel adds in-process scheduling, queuing, and mailing to ASP.NET Core with minimal setup, fluent intervals and IInvocable jobs that plug into DI.
SQL injection lets attackers alter database queries through untrusted input. Preventing it requires understanding how database queries are built and using parameterization consistently.
Central Package Management is a small change that delivers big benefits in multi-project solutions by centralizing package versions in a single Directory.Packages.props file.