Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class HostExtensions
- {
- public static IHost MigrateDbContext<TContext>(this IHost host, Action<TContext, IServiceProvider> seeder = null)
- where TContext: DbContext
- {
- using (var scope = host.Services.CreateScope())
- {
- var context = scope.ServiceProvider.GetService<TContext>();
- try
- {
- context.Database.Migrate();
- seeder?.Invoke(context, scope.ServiceProvider);
- }
- catch (Exception ex)
- {
- var logger = scope.ServiceProvider.GetRequiredService<ILogger<TContext>>();
- logger.LogError(ex, $"An error occurred while migrating the database for context {nameof(TContext)}.");
- }
- }
- return host;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement