目前生成的上下文文件命名约定是硬编码的且不可配置。
所有的逻辑都在里面ReverseEngineerCodeFirstHandler
class (源代码位于 CodePlex 上 http://entityframework.codeplex.com/SourceControl/latest#src/PowerTools/Handlers/ReverseEngineerCodeFirstHandler.cs).
它设置上下文文件名和路径
var contextFilePath = Path.Combine(modelsDirectory,
modelGenerator.EntityContainer.Name + contextHost.FileExtension);
var contextItem = project.AddNewFile(contextFilePath, contextContents);
所以文件名来自modelGenerator.EntityContainer.Name
它是在方法的上部创建的:
var contextName =
connection.Database.Replace(" ", string.Empty)
.Replace(".", string.Empty) + "Context";
var modelGenerator =
new EntityModelSchemaGenerator(storeGenerator.EntityContainer,
"DefaultNamespace", contextName);
正如您所看到的,该工具仅获取数据库名称,删除空格和点,并将其用作上下文名称,最终将作为生成的文件名。
您可以打开一个issue http://entityframework.codeplex.com/workitem/list/basic或者 - 因为实体框架是开源的 - 获取代码,添加此配置选项,然后发回拉取请求。