如何删除实体框架核心中生成的模型类

Gur*_*sad 6 entity-framework-core

我们正在使用 EF core,并且遵循数据库优先方法。

我们用于Scaffold-DbContext更新我们的上下文文件。现在,我们正在进行清理工作,目前我们在数据库中有一些表被删除,当我们针对Scaffold-DbContext数据库运行时,我的上下文文件通过删除所有已删除的表(模型类)引用进行了更新

但在 Model 文件夹下,我们仍然看到已删除的表 Model 类文件存在。

有关如何删除它们而不是手动删除它们的任何输入?

Wal*_*nut 5

我使用此命令将类生成到文件夹中,然后重命名文件夹以获得您需要的结果。

Scaffold-DbContext name=DefaultConnection Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entities -ContextDir Contexts -Namespace "yournamespace" -f
Run Code Online (Sandbox Code Playgroud)
  • “-OutputDir Entities”在“Entities”文件夹中创建类
  • “-ContextDir Contexts”在“Contexts”文件夹中创建 dbcontext 文件
  • -命名空间“yournamespace”有助于覆盖命名空间

删除/清理

  • 将命令中的目录名称修改为“newfolder”,然后运行。
  • 删除旧文件夹并将新文件夹重命名回原来的名称。


Shi*_*nva 0

从技术上讲,您可以删除该文件夹中的所有类文件(包括 DataContext)并使用命令重新生成它们dotnet ef dbcontext scaffold ...

  • 不能这样做,因为删除文件会破坏构建,并且当项目未构建时脚手架会失败。 (5认同)