【问题标题】:ASP.NET Core RC2 Identity Database Schema MigrationsASP.NET Core RC2 身份数据库架构迁移
【发布时间】:2016-06-06 01:01:11
【问题描述】:

在新的 ASP.NET Core RC2 模板(后端没有可用的数据库)中,当我尝试注册用户时,它会抛出以下错误以添加迁移。

在过去,它用于为我们生成数据库,而无需在我们运行应用程序时添加初始迁移。有没有办法在没有初始迁移的情况下在 ASP.NET Core RC2 中创建数据库?

【问题讨论】:

标签: c# entity-framework asp.net-core asp.net-core-mvc


【解决方案1】:

对于测试场景,您可以在启动期间的某处使用context.Database.EnsureCreatedAsync()。确保您使用的是this pattern(目前),而不是直接在配置中注入它,以避免在启动期间出现问题。

MusicStore 示例应用程序复制的代码部分供将来参考。

using (var serviceScope = serviceProvider.GetRequiredService<IServiceScopeFactory>().CreateScope())
{
    var db = serviceScope.ServiceProvider.GetService<MusicStoreContext>();

    if (await db.Database.EnsureCreatedAsync())
    {
        await InsertTestData(serviceProvider);
        if (createUsers)
        {
            await CreateAdminUser(serviceProvider);
        }
    }
}

因为此时还没有范围。如果您以后想应用迁移,可以使用 context.Database.AsRelational().ApplyMigrations() (GitHub issue)

【讨论】:

  • 谢谢。我错过了Database.EnsureCreated()
猜你喜欢
  • 2021-10-05
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多