首页 > 解决方案 > 脚手架现有数据库 EF core 2.X 后更新模型

问题描述

我正在使用 EF core 2.X 搭建现有数据库。我使用“dotnet ef dbcontext scaffold”命令生成了模型类,它生成了模型类。

数据库团队更改了一些表,我必须再次运行“dotnet ef dbcontext scaffold”命令来生成模型类以仅选择更改。

例如,假设我有一张名为“employee”的表,其中包含列 id、名称。

我运行“dotnet ef dbcontext scaffold”来生成模型

之后我更改了员工表并在数据库中添加了一个名为“地址”的列。我怎样才能脚手架命令只选择更改。

注意:我知道在生成模型后我应该使用迁移来更改数据库,但是我们的数据库团队已经更改了数据库,不幸的是,我必须这样做。和建议

标签: entity-framework-core

解决方案


您可以为脚手架命令提供可选参数以仅更新您的目标表。

Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=DatabaseName;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir DirectoryNameOfYourModels -Tables employee -f

如果您使用的是 .net core cli,请使用。

dotnet ef dbcontext scaffold "Server=(localdb)\mssqllocaldb;Database=DatabaseName;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o DirectoryNameOfYourModels -t employee -f

推荐阅读