Код в этом вопросе относится к установлению отношений. Описанная проблема в этом вопросе связана с тем, что связанные данные не загружаются автоматически. Это две разные вещи, которые имеют мало общего друг с другом.
Вы пропустили где-нибудь включить? Вы получили доступ (и, следовательно, лениво загружены) к ролевым реквизитам, но не к Permission Nav? Я хотел бы видеть код, начиная с того места, где вы запускаете запрос, и до того, где вы проверяете этот объект (согласно вашему скриншоту)
Вы ответили запрошенным кодом:
var user = _userRepository
.FirstOrDefaultAsync(us => us.Email == email);
var userPermissions =
user.UserRoles
.First()
.Role
.RolePermissions
.Select(rp => rp.Permission)
.ToList();
Если вы вставите оператор Include()
в ваш запрос, вы увидите, что Permission
действительно будет выбран правильно.
Я не совсем уверен, какой объект вы проверяете. На снимке экрана показано, что вы смотрите на RolePermission
, но опубликованный код предлагает вам получить список Permission
объектов.
Несмотря на это, вы, кажется, уже исправили это, используя Include
:
Михай Александру-Ионут @Flater, да, мне нужно использовать include и проблема решена. Это решение, поэтому, пожалуйста, опубликуйте его как ответ, чтобы принять его.