userManager.GetRolesAsyn c (пользователь) возвращает пустой список после расширения IdentityRole - PullRequest
0 голосов
/ 21 апреля 2020

Мне нужно было добавить свойство List в IdentityRole, чтобы установить sh отношение «многие ко многим». После этого и запуска миграции кода сначала все выглядело нормально. Однако теперь, когда я пытаюсь получить роли для пользователя, результат всегда пуст, хотя я вижу, что они существуют в БД. Есть идеи, почему это может происходить?

public class Role : IdentityRole
{
    public Role(string name) : base(name) { }
    public List<FeatureRole> FeatureRoles { get; set; }
}
public class FeatureRole
{
    public int FeatureId { get; set; }
    public Feature Feature { get; set; }
    public string RoleId { get; set; }
    public Role Role { get; set; }
}
public class Feature
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Url { get; set; }
    public Permission AvailablePermissions { get; set; }
    public Permission Permissions { get; set; }
    public bool IsSystem { get; set; }
    public List<FeatureRole> FeatureRoles { get; set; }
}
public async Task<CurrentUserJS> AuthenticateAsync(string username, string password)
{
    try
    {
        var user = await _userManager.FindByNameAsync(username);
        if(user != null)
        {
            var signInResult = await _signInManager.PasswordSignInAsync(user, password, false, false);
            if(signInResult.Succeeded)
            {
                var roles = await _userManager.GetRolesAsync(user); // <-- roles = [] always

                //....

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...