【发布时间】:2022-11-18 06:27:57
【问题描述】:
我将迁移添加到我的 .Net 6.0 项目,当我运行命令“update-database”时,数据库已创建,但是当我不运行此命令并运行我的项目时,它不会创建数据库
【问题讨论】:
标签: .net sql-server entity-framework .net-6.0
我将迁移添加到我的 .Net 6.0 项目,当我运行命令“update-database”时,数据库已创建,但是当我不运行此命令并运行我的项目时,它不会创建数据库
【问题讨论】:
标签: .net sql-server entity-framework .net-6.0
并运行我的项目,它不会创建数据库
您应该以编程方式运行它,如下所示:
using (var context = new MyContext(options)) { await context.Database.MigrateAsync(); }如果没有任何挂起的迁移,这段代码什么都不做。 例如,如果您只有创建数据库和一些初始表的迁移,则不会重新创建数据库。 您可以在名为
_MigrationsHistory的特殊表中看到已应用的迁移列表。您也可以运行这个(但不应用任何迁移):
context.Database.EnsureCreated();就这样。希望它会有所帮助。
【讨论】:
在您的应用程序数据库上下文中运行 Database.Migrate,以编程方式运行命令“更新数据库”。
public class MyContext : IdentityDbContext {
public MyContext() {
Database.Migrate();
}
}
【讨论】: