在新的ASP.NET Core RC2模板中(后端没有可用的数据库),当我尝试注册用户时,它会引发以下错误以添加迁移。
在过去,它用于为我们生成数据库,而无需在运行应用程序时添加初始迁移。有没有办法在没有初始迁移的情况下在ASP.NET Core RC2中创建数据库?
答案 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对象资源管理器...