ASP.NET Core中现有数据库的脚手架(Scaffold-DbContext)

5

目前,我所知道的唯一一种生成数据库脚手架的方法是通过命令:Scaffold-DbContext .....

这种方法不能为没有主键或视图的表生成脚手架,并且如果代码中存在任何错误,则无法运行。此外,我认为为了更新一个表,您必须再次生成整个数据库的脚手架(如果我错了,请纠正我)

我们是否会看到类似于过去ASP.NET版本中的.edmx文件? 有GUI或者更少出错的东西吗?

是否还有其他我错过的方法?


脚手架更多地是用于一次性生成模型文件,然后采用代码优先方法继续进行。据我所知,没有计划支持 .edmx。我认为这被认为非常困难和有问题,并且很难使其与 SCM 协同工作,因此除非有真正巨大的需求,否则 EF Core 不太可能支持它。 - Tseng
@Tseng,这其实很有道理,脚手架更多地是用于一次性代码。如果我想要更新一个表,你有什么命令可以推荐吗? - Daath
1个回答

10
我们可以使用以下的包管理器控制台命令来搭建整个数据库表。
Scaffold-DbContext "Server=yourserver;Database=database;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Model or 'D:\VSProject\Model' 

创建一个数据表的脚手架。
Scaffold-DbContext "Server=yourserver;Database=database;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Model -t table-name  

更新现有的表格

Scaffold-DbContext "Server=yourserver;Database=database;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Model -t table-name -force -verbose

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接