A. *_*kiy 9 ef-migrations entity-framework-core asp.net-core
我有测试和实时数据库.对于测试数据库迁移,我在包管理器控制台中使用Add-Migration ...和Update-Database语法.但对于实时数据库,我想在应用程序启动时以编程方式执行此操作.
以下代码对我没有帮助:
context.Database.Migrate();
Run Code Online (Sandbox Code Playgroud)
Invalid object name 'TempTenants'当我尝试将记录添加到不存在的表时,我有错误.这是我的新表.
但我有_EFMigrationsHistory桌子.而且我的所有迁移都是那些没有应用的迁移.但我没有看到新表.
如果我从测试数据库中手动删除表并尝试重现错误,我将得到相同的结果.
因此,context.Database.Migrate();仅创建包含所有迁移的新数据库(如果它不存在),但不更新(应用迁移)现有数据库.
我能这样做吗?我该如何解决?
似乎出了什么问题。我从表中删除了未应用的迁移(记录)__EFMigrationsHistory(我还需要将一些表名称、主键和外键恢复到以前的状态)并再次启动应用程序。
因此,context.Database.Migrate();即使对于现有数据库也可以应用迁移。
| 归档时间: |
|
| 查看次数: |
4011 次 |
| 最近记录: |