ASP.NET MVC 5 Identity userManager.IsInRole

El siguiente código no funciona, y no puedo explicar por qué ... Mi administrador de usuarios está causando una gran angustia porque crea usuarios y roles bien, pero cuando ejecuto este código userManager.IsInRole siempre devuelve falso, por lo que el segundo cada vez que ejecuto mi semilla, encuentro errores porque está tratando de crear el registro a pesar de que ya existe.

Tenga en cuenta que esto ocurre cuando estoy ejecutando update-database contra mi proyecto de migraciones. ¿Es el hecho de que este no es un proyecto ASP que causa problemas? De ser así, ¿por qué? No se debe arrojar un error.

Este es el primer proyecto que utilizo Identity y aunque cuando funciona parece bueno, hay muy poca documentación actualizada de buena calidad disponible, por lo que si alguien tiene alguna fuente para esto, estaría agradecido.

    public void Run(BlogContext blogContext)
    {
        var userStore = new UserStore<User>((BlogContext) blogContext);
        var userManager = new UserManager<User>(userStore);

        var userRoles = new List<UserRole>()
        {
            new UserRole() {Username = "[email protected]", Role = "SysAdmin"},
            new UserRole() {Username = "[email protected]", Role = "Admin"},
            new UserRole() {Username = "[email protected]", Role = "Author"}
        };

        foreach (var userRole in userRoles)
        {
            var userId = userManager.FindByName(userRole.Username).Id;

            if (!userManager.IsInRole(userId, userRole.Role))
                userManager.AddToRole(userId, userRole.Role);
        }


        blogContext.SaveChanges();
    }

Respuestas a la pregunta(1)

Su respuesta a la pregunta