2011-10-10 20 views
10

Estoy usando CodeFirst of EF con una base de datos bien definida. Mi base de datos tiene una tabla llamada 'Centros' (palabra portuguesa) y logro encontrar que EF intenta pluralizar mis entidades para obtener una bruja 'Centroes' incorrecta en este caso.Entity Framework CodeFirst pluralización de tabla

Si elimino la pluralización modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); me las arreglo para que funcione, PERO tengo que cambiar el nombre de mi tabla a 'Centro' (para que coincida con mi nombre de entidad).

En portugués 'Centro' es singular, 'Centros' es plural.

No quiero cambiar el nombre de los nombres de mi tabla, entonces, ¿cómo puedo especificar el nombre de la tabla correspondiente para mi entidad después de eliminar la convención de pluralización?

Respuesta

22

Anoto todas mis clases, independientemente de si el marco puede hacerlo por mí a través de algunas rutinas de reflexión inteligente. P.ej.

[Table("Order")] 
public class Order 
{ 

} 

Podemos tocar el tipo, es más limpio y es menos probable que se caiga en algún evento inesperado.

+1

Esta es la mejor respuesta http://stackoverflow.com/questions/4796543/how-do-i-singularize-my-tables-in-ef-code-first – om471987

-1

ModelBuilder ahora es System.Data.Entity.DbModelBuilder.

2

O puede hacer uno en un momento como este en el API de Fluido:

modelBuilder.Entity() totable ("ContactInfo.");

Cuestiones relacionadas