正常的工作流程是什么?
我正在尝试移至ef core 3.1,但我似乎不太了解 正常的预期工作流程是什么。
如果我使用的是IdentityDbContext,如何通过0次迁移生成数据库。
我每次都要更改模型,是否需要创建迁移? 即使我想说只是从头开始。 我对迁移不感兴趣,但似乎必须有核心才能使用模型(首先代码)创建数据库
下面的代码不是我正在使用的代码,但是可以满足我的要求....即使我进行了这些更改,似乎它也是一个工作流程依赖项(确实很糟糕)/希望不是。
// auto migration
context.Database.Migrate();
在没有迁移的情况下,它仅创建一个空的数据库,如何在不生成新迁移的情况下基于模型创建它? 这是ef6中的默认行为,我不想在开发过程中保持迁移,我只是想说一下它的不同是否告诉我,我会丢掉并重新创建。
您是否被迫使用迁移?换句话说,每次更改数据库时,您都必须删除所有迁移,然后以min为1迁移再次创建,否则甚至不考虑模型实体。
这是Ef核心3.1版,我认为它现在已经超越了此限制。
~startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// configure app
SeedData.Initialize(app.ApplicationServices);
}
// dbInitializer.cs
public static class SeedData
{
public static void Initialize(IServiceProvider serviceProvider)
{
using (var serviceScope = serviceProvider.CreateScope())
{
var context = serviceScope.ServiceProvider.GetService<ApplicationDbContext>();
// auto migration
context.Database.Migrate();
// Seed the database.
InitializeUserAndRoles(context);
}
}
private static void InitializeUserAndRoles(ApplicationDbContext context)
{
// init user and roles
}
}