ASP. net - Метод Seed не обновляет базу данных, если я не запускаю update-database - PullRequest
0 голосов
/ 13 апреля 2020

Я работаю на небольшом веб-сайте, используя 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");
        }
    }
...