【发布时间】:2022-01-28 18:54:59
【问题描述】:
我将 .NET Core 6 和 EF Core 6 与现有数据库一起使用。我们必须对此数据库进行一些更改,因此我们引入了 EF Core 6 迁移。为了使它与初始数据库一起工作,我们必须创建一个空的初始创建。因此,当我们运行迁移脚本时,会添加新列。
问题是:如何在本地机器上创建用于开发目的的初始数据库?
如果我使用这种方法
var databaseCreator = (RelationalDatabaseCreator)dbContext.Database.GetService<IDatabaseCreator>();
await databaseCreator.CreateTablesAsync(cancellationToken);
表已创建,但没有迁移历史记录,因此后续迁移将失败。
如果我只是运行迁移
await context.Database.MigrateAsync(cancellationToken);
不会创建表,因为我的初始迁移是空的。
这里用迁移历史初始化一个空数据库的正确方法是什么?
【问题讨论】: