public ApplicationDbContext(DbContextOptions <ApplicationDbContext> options) : base(options) { if (Database.EnsureCreated()) { #region создание ролей пользователей и администратора // роли пользователей var roleStore = new RoleStore <IdentityRole>(this); var roleManager = new RoleManager <IdentityRole> (roleStore, new IRoleValidator <IdentityRole>[] { }, new UpperInvariantLookupNormalizer(), new IdentityErrorDescriber(), null); roleManager.CreateAsync(new IdentityRole { Name = Domain.UserRoles.ADMIN }).GetAwaiter().GetResult(); roleManager.CreateAsync(new IdentityRole { Name = Domain.UserRoles.USER }).GetAwaiter().GetResult(); // учётная запись администратора var userStore = new UserStore <ApplicationUser>(this); var userManager = new UserManager <ApplicationUser> (userStore, new OptionsManager <IdentityOptions>(new OptionsFactory <IdentityOptions>(new IConfigureOptions <IdentityOptions>[] { }, new IPostConfigureOptions <IdentityOptions>[] { })), new PasswordHasher <ApplicationUser>(), new IUserValidator <ApplicationUser>[] { }, new IPasswordValidator <ApplicationUser>[] { }, new UpperInvariantLookupNormalizer(), new IdentityErrorDescriber(), null, null ); var user = new ApplicationUser() { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true }; var result = userManager.CreateAsync(user, "secret").GetAwaiter().GetResult(); if (result.Succeeded) { userManager.AddToRoleAsync(user, Domain.UserRoles.ADMIN).GetAwaiter().GetResult(); userManager.AddToRoleAsync(user, Domain.UserRoles.USER).GetAwaiter().GetResult(); } userManager.Dispose(); #endregion } }