Я работаю на небольшом веб-сайте, используя ASP. net, и пытаюсь создать администратора для пользователя с ролью «admin», а также с другой ролью «Registered Used». Однако, это не работает, когда я получаю доступ к базе данных. Вместо этого он работает только при запуске «update-database» в консоли. Что я делаю не так, пожалуйста? Кроме того, мой друг использует очень похожий код, и он отлично работает, однако мой, похоже, не работает ..
Это семя:
protected override void Seed(Assignment.Models.ApplicationDbContext context)
{
Task.Run(async () => { await SeedAsync(context); }).Wait();
}
private async Task SeedAsync(ApplicationDbContext context)
{
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
var user = new ApplicationUser { UserName = "admin@gmail.com", Email = "admin@gmail.com" };
var result = await userManager.CreateAsync(user, "asdASD123!@#");
await roleManager.CreateAsync(new IdentityRole { Name = "Admin" });
await roleManager.CreateAsync(new IdentityRole { Name = "Registered User" });
if (result.Succeeded)
{
await userManager.AddToRoleAsync(user.Id, "Admin");
}
}