Disabilitare la pluralizzazione del nome delle classi con Entity Framework Code-First

di Daniele Bochicchio, in LINQ, Entity Framewokr,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi