Мне нужно получить UserName авторов сообщений из класса IdentityUser в .Net Core 3.0 на основе UserId. Идентификатор пользователя - это столбец в моей таблице сообщений.
Пока я пытался добавить это
@ using Microsoft.AspNetCore.Identity @inject UserManager UserManager
@ {var username = await UserManager.FindByIdAsync (Model.Posts.Userid) .Result.UserName}
К сожалению, это дает ошибку времени выполнения «Ссылка на объект не установлена на экземпляр объекта».
Я не могу добавить скаффолдинг из базы данных в класс контекста, потому что, когда я это сделал, приложение не запускалось, потому что любые таблицы, которые вы добавляете в контекст, считаются дубликатом класса IdentityUser по умолчанию.
Я пробовал искать в Google такие вещи, как «.net core получить имя пользователя по идентификатору», но все примеры, которые я нахожу, получают только имя пользователя или идентификатор вошедшего в систему пользователя. Я хочу получить имя пользователя, в котором идентификатор пользователя соответствует идентификатору автора в таблице сообщений.
Еще лучшим решением было бы получить UserName из созданного мной класса PostsService, но я не знаю, как получить значения внешнего ключа для вещей, которых нет в ApplicationDbContext.