public static void SeedData(this IServiceScopeFactory scopeFactory, ILogger logger) { _logger = logger; using (var serviceScope = scopeFactory.CreateScope()) { var context = serviceScope.ServiceProvider.GetService <JournalContext>(); _userManager = serviceScope.ServiceProvider.GetService <UserManager <ApplicationUser> >(); _roleManager = serviceScope.ServiceProvider.GetService <RoleManager <JournalRole> >(); _logger.LogDebug("Starting database table data seeding."); _context = context; if (_context == null || _userManager == null) { throw new ArgumentNullException("Database or identity objects are not set"); } if (_context.AllMigrationsApplied()) { InitializeIdentity(); ApplyData(false); } else { _logger.LogDebug("Database migrations are not correctly applied."); } } }