Entity Framework Code First lavora secondo un meccanismo di conventions overs configurations, che consente di sfruttare un insieme di convenzioni implicite in fase di creazione del modello di mapping, così che noi, come sviluppatori, non siamo costretti a dover specificare esplicitamente un mapping.
Una delle convenzioni più comode, quando il modello è in inglese, è quella che prevede automaticamnete il plurale nel nome delle tabelle mappate. Se il nostro modello è in italiano, otteniamo un effetto spiacevole, cioè l'aggiunta di una s finale al nome delle entità: ad esempio, Clienti diventerà Clientis.
Si può ovviare a questo inconveniente facendo l'override del metodo OnModelCreating all'interno della classe in cui è definito il nostro DbContext e procedendo alla rimozione della convezione specifica:
using System.Data.Entity.ModelConfiguration.Conventions; ... protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migrare una service connection a workload identity federation in Azure DevOps
Usare una container image come runner di GitHub Actions
Usare il versioning con i controller di ASP.NET Core Web API
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Specificare il versioning nel path degli URL in ASP.NET Web API
Utilizzare i primary constructor in C#
Utilizzare la session affinity con Azure Container Apps
Copiare automaticamente le secret tra più repository di GitHub
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Controllare gli accessi IP alle app con Azure Container Apps