Каков нормальный рабочий процесс?
Я пытаюсь перейти на 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
}
}