Identidade do asp.net MVC 5 userManager.IsInRole

O código a seguir não funciona e não sei explicar por que ... Meu gerente de usuários está causando problemas significativos, pois cria usuários e funções muito bem, mas quando executo esse código, userManager.IsInRole sempre retorna falso, portanto, o segundo Quando executo minha semente, estou encontrando erros porque está tentando criar o registro, apesar do fato de ele já existir!

Observe que isso está ocorrendo quando estou executando o banco de dados de atualização no meu projeto de migração; o fato de este não ser um projeto ASP está causando problemas; se sim, por que? não deve ser gerado um erro.

Este é o primeiro projeto que usei o Identity e, embora pareça bom, há muito pouca documentação atualizada de boa qualidade disponível; portanto, se alguém tiver alguma fonte para isso, ficaria grato.

    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();
    }

questionAnswers(1)

yourAnswerToTheQuestion