EF Core数据库优先模式下模型更新需重新执行Scaffold-DbContext命令并加-Force参数覆盖生成;适用于数据库结构变更场景,如增删表、修改字段、调整主外键等,且不可混用Code First迁移。

EF Core数据库优先模式下,模型更新不是靠迁移(Migration),而是重新执行反向工程命令——因为模型是“从数据库来的”,所以数据库变了,就得重新生成模型。
什么时候需要更新模型
当数据库结构发生变更时,比如:
- 新增或删除了表
- 字段名、类型、是否允许为空(NULL)被修改
- 主键、外键、索引或约束调整
- 视图或存储过程有变动(部分场景下也会被生成)
标准更新流程:用 Scaffold-DbContext 覆盖重生成
核心命令不变,关键是加 -Force 参数覆盖旧文件,并确保连接字符串和数据库提供程序准确:
Scaffold-DbContext "Server=.;Database=MyDB;Trusted_Connection=true;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context AppDbContext -Force
登录后复制
说明:
标签: 编码 app microsoft 配置文件 sqlserver
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~