You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过外键关联自定义对象至User并解决属性显示异常问题

问题:无法从关联外键表获取Department值并显示

我在显示自定义对象属性时遇到问题,程序无法从带有对应外键的表中获取关联的Department值,已经尝试过谷歌和YouTube上的空引用异常修复方案,但都无效。外键字段已填充,目标是显示关联的Department数据。


UserViewModel.cs

public class UserViewModel
{
    public string Name { get; set; }
    public string Id { get; set; }
    public Department Department { get; set; }
}

AppUser.cs

public class AppUser : IdentityUser
{
    [DefaultValue(null)]
    public string Name { get; set; }
    public Department Department { get; set; }
    public Single1 Single { get; set; }
}

Controller代码

public async Task<IActionResult> Index()
{
    
    IEnumerable<AppUser> users = await _userRepository.GetAll();
    List<UserViewModel> usersViewModel = new List<UserViewModel>();
    foreach (var user in users)
    {
        
        var userViewModel = new UserViewModel()
        {
            Id = user.Id,
            Name = user.Name,
            Department = await _userRepository.GetDepartmentByIdAsync(user.Department.DepartmentId),
        };
        usersViewModel.Add(userViewModel);
    }
    return View(usersViewModel);
}

Repository代码

public async Task<IEnumerable<AppUser>> GetAll()
{
    var users = await _context.Users.ToListAsync();
    return users;
}

public async Task<Department> GetDepartmentByIdAsync(string id)
{
    return await _context.Departments.Where(o => o.DepartmentId == id).FirstOrDefaultAsync();
}

补充说明

  • 外键字段已填充,目标是将关联的Department值显示到视图中
  • 当前执行时会触发空引用异常,无法正确获取Department数据

内容的提问来源于stack exchange,提问作者Trung Đặng Đức

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:49:52