首页 > 解决方案 > 如何从外键获取值以使用关联值填充列表?

问题描述

我的 ViewModel 中有以下列表:

public List<Objective> Objectives { get; set; }

我还有以下存储库方法:

public async Task<List<Objective>> GetAll()
{
    return await _context.Objective.ToListAsync();
}

最后,我在返回 ViewModel 的服务中有以下方法:

public async Task<ObjectivesViewModel> GetViewModel()
{
    var viewModel = new ObjectivesViewModel()
    {
        Objectives = await _objectivesRepository.GetAll()
    };

    return viewModel;
}

所有这些都按预期工作。

我的目标模型如下所示:

public string ReferenceCode { get; set; }
public int TeamId { get; set; }
public string Description { get; set; )

TeamId 模型如下所示:

public int TeamId { get; set; }
public string TeamName { get; set; }

就目前而言,存储库应返回所有内容,但是我想做的是添加与 TeamId 关联的 TeamName。我将如何完成或接近这一点?

标签: c#asp.netentity-frameworkasp.net-coreentity-framework-core

解决方案


制作 TeamId 外键,并访问团队导航属性 Objective 模型:

public string ReferenceCode { get; set; }
public int TeamId { get; set; }
[ForeignKey("TeamId ")]
public Team Team { set; get; }
public string Description { get; set; )

现在您可以访问 teamId 或 teamName

Objective obj = _context.Objective.FirstOrDefault();
obj.Team.TeamName

推荐阅读