Почему пользовательские свойства для пользовательского класса IdentityUser всегда равны нулю - PullRequest
1 голос
/ 21 марта 2019

У меня есть UserManager для моего пользовательского удостоверения:

private readonly UserManager<CustomUser> _userManager;

Которая имеет коллекцию Subscriptions,

public class CustomUser:IdentityUser
{
    public ICollection<Subscription> Subscriptions { get; set; }
}

Но когда я получаю пользователя, используя userManager:

  var user = await _userManager.FindByEmailAsync(model.UserName);

Subscriptions равно нулю.

Я добавляю подписки и обновляю, используя:

 await _userManager.UpdateAsync(user);

Когда я проверяю в базе данных Subscriptions, я мог видеть записи.

Но пользовательский менеджер Subscriptions всегда возвращает ноль.

1 Ответ

0 голосов
/ 21 марта 2019

UserManager.FindAsync .. методы не включают / не возвращают свойства навигации.

Чтобы включить пропорции навигации, мы должны использовать расширения entityFramework.

В этом случае используйте

var userWithSubscriptions =  _userManager.Users.Include(c => c.Subscriptions);
var currentUserSubscription = userWithSubscriptions.Where(x => x.UserName == model.UserName).FirstOrDefault().Subscriptions;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...