C# 定义脚手架DbContext反向工程的自定义模型名称
我正在使用C# 定义脚手架DbContext反向工程的自定义模型名称,c#,.net-core,entity-framework-core,scaffolding,ef-core-2.1,C#,.net Core,Entity Framework Core,Scaffolding,Ef Core 2.1,我正在使用scaffoldbcontext对现有数据库进行反向工程。我正在为实体指定自定义的ContextDir、Context和文件夹名称。我还使用-DataAnnotations。下面是我正在使用的命令: Scaffold-DbContext "{connection_string}" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entities -ContextDir DbContexts -Context TestContext
scaffoldbcontext
对现有数据库进行反向工程。我正在为实体指定自定义的ContextDir
、Context
和文件夹名称。我还使用-DataAnnotations
。下面是我正在使用的命令:
Scaffold-DbContext "{connection_string}" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entities -ContextDir DbContexts -Context TestContext -Tables "tableA", "tableB", "tableC" -DataAnnotations -Force
它工作得很好,但是。。就型号名称而言,我仅限于两个选项:
-UseDatabaseNames
标志,并且Scaffold DbContext
将创建与数据库中显示的完全相同的表名和列名(在我的示例中为“tableA”)-UseDatabaseNames
标志,数据库名称将更改为更符合C#name样式约定(在我的示例中为“TableA”)-Tables "tableA" as "CustomTableA", "tableB" as "CustomTableB"
我为什么需要这个?这里有一个问题:
(场景:在未来,数据库将被更改,我希望在模型中包含4个新表):
当我今天为模型重命名一个时(在它从db反向工程之后),明天我将再次运行Scaffold DbContext
以添加新表。。改变后的模型仍然存在。这方面有很多工作要做。所以在第一次搭建之后,我不得不手动将模型添加到我的代码中。能够明确地说出应该使用什么名称,对于大型的、公司的、遗留的数据库项目来说将是非常棒的
在Scaffold DbContext
中是否有类似的选项?如果没有,是否有计划添加它?如果没有,是否有其他工具具有此类功能
顺便说一句,除了这些模型中的自定义列/字段名外,这也太棒了我以前使用过类似于此命令的(
dotnet ef dbcontext scaffold…
)并且我非常确定这在当前是不可能的。