Come EF Core vede il vostro database
Il DbContext è il contratto tra il vostro codice e MariaDB. Configurato a metà, dopo sei mesi produce uno schema che non corrisponde al dominio e migrazioni che nessuno vuole più toccare. Qui diventa esplicito dal primo giorno.
- Ciclo di vita del DbContext e context pooling. Scoping per richiesta, e perché condividere un'istanza tra thread è un errore che prima o poi corrompe i dati.
- Fluent API al posto delle Data Annotation. Owned type, value object e table splitting, con le classi di dominio pulite.
- Configurazione separata con IEntityTypeConfiguration. Un OnModelCreating di poche righe invece di un metodo da 500 che nessuno osa toccare.
- Ereditarietà TPH, TPT, TPC. Cosa genera davvero ciascuna in SQL, e quale scegliere in base a query e sottotipi.
- Shadow property e backing field. Chiavi esterne, timestamp e stato interno mappati senza sporcare l'interfaccia delle entità.
- Filtri di query globali. Multi-tenancy e soft delete applicati in un punto solo, impossibili da dimenticare.
- Il modello comune alle macchine automatiche e non automatiche mappato correttamente dal primo giorno
- Un DbContext pulito e leggibile, non un metodo da 500 righe
- Migrazioni future che non riservano sorprese