Я занимаюсь разработкой приложения 3-уровневой архитектуры, поэтому я добавляю UserManager и RoleManager в мой UnitOfWork на уровне доступа к данным. Но когда я пытаюсь создать объекты классов UserManager и RoleManager, я получаю следующие ошибки:
There is no argument given that corresponds to the required formal parameter 'optionsAccessor'
of 'UserManager<IdentityUser>.UserManager(IUserStore<IdentityUser>, IOptions<IdentityOptions>,
IPasswordHasher<IdentityUser>, IEnumerable<IUserValidator<IdentityUser>>,
IEnumerable<IPasswordValidator<IdentityUser>>, ILookupNormalizer, IdentityErrorDescriber,
IServiceProvider, ILogger<UserManager<IdentityUser>>)'
There is no argument given that corresponds to the required formal parameter 'roleValidators'
of 'RoleManager<IdentityRole>.RoleManager(IRoleStore<IdentityRole>, IEnumerable<IRoleValidator<IdentityRole>>,
ILookupNormalizer, IdentityErrorDescriber, ILogger<RoleManager<IdentityRole>>)'
Часть моего класса UnitOfWork
public class IdentityUnitOfWork : IUnitOfWork
{
private UserManager<IdentityUser> _userManager;
private RoleManager<IdentityRole> _roleManager;
private ApplicationContext _context;
public IdentityUnitOfWork(ApplicationContext context)
{
_userManager = new UserManager<IdentityUser>(context);// error 1
_roleManager = new RoleManager<IdentityRole>(context);// error 2
_context = context;
}
}
ОБНОВЛЕНИЕ
Когда я пытаюсь чтобы создать мои собственные RoleManager
и UserManager
классы, я получаю ту же ошибку.
Мой ApplicationRole
класс
public class ApplicationRole : IdentityRole
{
}
Мой ApplicationRoleManager
класс
public class ApplicationRoleManager : RoleManager<ApplicationRole>
{
public ApplicationRoleManager(RoleStore<ApplicationRole> store)
: base(store)// error in a here (in a base)
{
}
}