No puedo tener [.] (Puntos) en mis nombres de clave (Índices, claves principales y claves foráneas) cuando se generan mediante Add-Migration, así que traté de escribir un CSharpMigrationCodeGenerator, pero desafortunadamente esto no parece permitirle cambiar las claves foráneas o los nombres de índice. El nombre de la clave primaria se puede configurar como parte de anular la tabla crear:Entity Framework 5 Nombramiento clave con el código primero
protected override void Generate(
CreateTableOperation createTableOperation, IndentedTextWriter writer)
{
createTableOperation.PrimaryKey.Name = "USE THIS NAME";
base.Generate(createTableOperation, writer);
}
Pero lo que realmente necesita es una manera de garantizar que sólo se ha quitado punto (lo que implica anulando el generador de nombres de encargo) - pero No puedo ver cómo hacer esto.
¿Ha intentado utilizar el atributo de nombre de columna como se discute aquí: http://stackoverflow.com/questions/5082991/influencing-foreign-key-column-naming-in-ef-code-first-ctp5 –
Si desea un control detallado de la base de datos. La base de datos primero podría ser una mejor solución luego codificar primero. –