如何从外键获取值,以使用相关值填充列表?

时间:2019-12-03 12:04:44

标签: c# asp.net entity-framework asp.net-core entity-framework-core

我的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。我将如何完成或解决这个问题?

1 个答案:

答案 0 :(得分:0)

使TeamId外键,并访问团队导航属性 目标模型:

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