播种 - 添加用户角色

Seeding - Adding user roles

我最近选择了 c#,但我一直坚持添加用户角色和管理员。虽然我已经能够添加角色(seedroles,但我似乎无法添加管理员(seeduser)。

当我将鼠标悬停在“管理员”参数上时,我尝试添加管理员角色,它说“无法从字符串转换为 systems.collections.generic.IEnumerable

using Microsoft.AspNetCore.Identity;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;

namespace leave_management
{
    public static class SeedData
    {
        public static void Seed(UserManager<IdentityUser> userManager, RoleManager<IdentityRole> roleManager)
        {
            SeedRoles(roleManager);
            SeedUsers(userManager);
        }

        private static void SeedUsers(UserManager<IdentityUser> userManager)
         {
            if (userManager.FindByNameAsync("admin").Result == null)
            {

                var user = new IdentityUser
                {
                    UserName = "admin@localhost.com",
                    Email = "admin@localhost.com",

                };

                var result = userManager.CreateAsync(user, "@password1").Result;
                if (result.Succeeded)
                {
                    //THis is where the error is at
                    userManager.AddToRolesAsync(user, "Administrator").Wait();
                }
            }
        }

        private static void SeedRoles(RoleManager<IdentityRole> roleManager)
        {
            if (!roleManager.RoleExistsAsync("Administrator").Result)
            {
                var role = new IdentityRole
                {
                    Name = "Administrator"
                };
                var result = roleManager.CreateAsync(role).Result;
            }

            if (!roleManager.RoleExistsAsync("Employee").Result)
            {
                var role = new IdentityRole
                {
                    Name = "Employee"
                };
                var result = roleManager.CreateAsync(role).Result;
            }
        }
    }
}

当我将鼠标悬停在“管理员”参数上时,我尝试添加管理员角色,它说“无法从字符串转换为 systems.collections.generic.IEnumerable

您正在尝试将字符串传递给需要可枚举字符串的对象。你不能那样做。如果需要,将字符串放入集合中。

new string[] {administrator};