EF框架数据库更新后自动更新类及上下文
如果更新了数据库表结构,并且想要在.NET项目中反映这些更改,可以通过重新执行Entity Framework Core的数据库上下文脚手架(scaffolding)命令来更新实体类和上下文。
需要在原命令加后缀 --force ,否则报错:文件已存在
新的命令:
dotnet ef dbcontext scaffold "Data Source=SAN-PC\WINCCPLUSMIG2014;Initial Catalog=ExpenseAideDB; Persist Security Info=True;User ID=sa;Password=sa;TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SqlServer --output-dir Models --force
原理:Models文件夹中已经存在一些文件,并且Entity Framework Core的脚手架命令默认不会覆盖这些文件。要解决这个问题,可以在命令中添加 --force 标志,这样就会覆盖现有的文件。
前提条件:项目编译不能报错,否则新的脚手架命令不执行。