如果创建了迁移,则可以按以下步骤在Startup.cs中执行它们。
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
using (var serviceScope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
var context = serviceScope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
context.Database.Migrate();
}
...
这将使用您添加的迁移来创建数据库和表。
如果您不使用Entity Framework Migrations,而是只需要在初次运行时完全按照上下文类中的方式创建DbContext模型,则可以使用:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
using (var serviceScope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
var context = serviceScope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
context.Database.EnsureCreated();
}
...
代替。
如果需要先删除数据库,然后再确保已创建,请致电:
context.Database.EnsureDeleted();
在您致电之前 EnsureCreated()
改编自:http : //docs.identityserver.io/en/latest/quickstarts/7_entity_framework.html? highlight= entity