当前,生成的上下文文件命名约定是硬编码且不可配置的。
所有逻辑都在ReverseEngineerCodeFirstHandler
类内部(源代码在 CodePlex 上)。
它设置上下文文件名和路径
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);
如您所见,该工具仅使用数据库名称删除空格和点并将其用作最终将作为生成的文件名的上下文名称。
您可以打开一个问题或 - 因为 Entity Framework 是开源的 - 获取代码,添加此配置选项,然后发回拉取请求。