EnableRetryOnFailure and Ambiguous Commits: The Duplicate-Write Gap EF Core Leaves Open
EF Core's EnableRetryOnFailure execution strategy retries a failed operation as a whole, including explicit transactions. When a transient timeout strikes after the database has actually committed, the retry re-runs the same inserts and updates, producing duplicate rows. The documented escape hatch is IExecutionStrategy.ExecuteInTransaction with a verifySucc