ASP.NET Core RC2身份库数据库架构迁移

时间:2016-06-05 13:53:07

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

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

enter image description here

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

2 个答案:

答案 0 :(得分:1)

对于测试方案,您可以在启动期间的某处使用context.Database.EnsureCreatedAsync()。确保您正在使用this pattern(暂时),而不是直接在configure中注入它,以避免启动时出现问题。

以后参考代码部分从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

答案 1 :(得分:-1)

我想唯一的另一种选择是手动创建数据库 使用Sql Server对象资源管理器...