为何重复调用dbContext.Database.Migrate()未抛异常?是否检查数据库?
EF Core重复调用
Migrate()无异常的原因 Migrate()方法本身具备幂等性,会自动处理重复调用的场景:
- 首先检查目标数据库是否存在,不存在则先创建数据库
- 接着读取数据库中的
__EFMigrationsHistory表,对比项目中已定义的所有迁移文件 - 仅执行那些尚未应用到数据库的迁移,已经完成的迁移会直接跳过
所以哪怕你多次调用Migrate(),只要所有迁移都已经成功应用,方法就会直接正常返回,不会抛出异常,也不会对数据库执行重复的迁移操作。
内容的提问来源于stack exchange,提问作者user22155685
相关产品推荐
相关产品推荐

