using Microsoft.EntityFrameworkCore; using MySqlConnector; namespace ErsatzTV.Infrastructure.MySql.Data; /// /// Classifies MySQL provider exceptions wrapped by EF Core. Wired to /// at startup. /// public static class MySqlErrorClassifier { // ER_DUP_ENTRY (1062): a duplicate value for a PRIMARY KEY or UNIQUE index. private const int ErDupEntry = 1062; public static bool IsUniqueConstraintViolation(DbUpdateException ex) => ex.InnerException is MySqlException { Number: ErDupEntry }; }