我需要基于UserId从.Net Core 3.0中的IdentityUser类获取帖子作者的UserName。用户ID是我的帖子表中的一列。
到目前为止,我已经尝试添加此内容
@@使用Microsoft.AspNetCore.Identity@inject UserManager UserManager
@ {var用户名=等待UserManager.FindByIdAsync(Model.Posts.Userid).Result.UserName}
不幸的是,这给出了运行时错误“对象引用未设置为对象的实例。”
我无法将数据库中的脚手架添加到上下文类,因为当我这样做时,由于您添加到上下文中的任何表都被视为默认IdentityUser类的重复,因此该应用程序将无法运行。
我曾尝试让Google搜索“ .net core按ID获取用户名”之类的内容,但我发现的所有示例仅获取登录用户的用户名或ID。我想获取用户名,该用户名与posts表中的作者ID匹配。
一个更好的解决方案是从我制作的PostsService类中获取UserName,但我不知道如何获取不在ApplicationDbContext中的内容的外键值
您必须注入UserManager
例如:
@using Microsoft.AspNetCore.Identity
@inject UserManager<User> UserManager
然后在视图中
@UserManager.GetUserName(User)