property name hasforeignkey framework foreign first data column code entity-framework ef-code-first

entity framework - name - ¿Cómo singularizo mis tablas en EF Code First?



fluent api entity framework foreign key (3)

Prefiero usar sustantivos singulares al nombrar las tablas de mi base de datos. Sin embargo, primero en el código EF, las tablas generadas siempre son plurales. Mis DbSets están pluralizados y creo que es donde EF está generando los nombres, pero no quiero singularizarlos porque creo que es más práctico tenerlos en código. También intenté sobreescribir la configuración, pero fue en vano.

¿Algunas ideas? Aquí está mi código y gracias.

MyObjectContext.cs

public class MyObjectContext : DbContext, IDbContext { public MyObjectContext(string connString) : base(connString) { } public DbSet<Product> Products {get;set;} public DbSet<Category> Categories {get;set;} //etc. protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>(); } }


Ha eliminado la convención incorrecta ( PluralizingEntitySetNameConvention ) para este propósito. Simplemente reemplace su método OnModelCreating con el siguiente y estará listo.

using System.Data.Entity.ModelConfiguration.Conventions.Edm.Db; ... protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); }

Con Entity Framework 6, en su archivo que hereda de DbContext:

using System.Data.Entity.ModelConfiguration.Conventions; protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); }


La ubicación de la definición de PluralizingTableNameConvention se ha movido a:

using System.Data.Entity.ModelConfiguration.Conventions;


También puede cambiar el valor de la propiedad:

En el menú Herramientas, haga clic en Opciones. En el cuadro de diálogo Opciones, expanda Herramientas de base de datos. Haga clic en O / R Designer. Establezca Pluralización de nombres en Habilitado = Falso para configurar el Diseñador de O / R para que no cambie los nombres de clase. Establezca Pluralización de nombres en Habilitado = Verdadero para aplicar reglas de pluralización a los nombres de clase de los objetos agregados al Diseñador de O / R.