外键不在视图中显示

时间:2011-11-23 21:33:50

标签: asp.net-mvc model-view-controller

我对MVC方法有点新意。我先从数据库模型开始。我目前有两张桌子:

  • 赛程

Fixtures(以及其他领域)有一个FK链接到主队和客队的球队桌。

 public class Team
 {        
    public virtual int TeamId { get; set; }
    public virtual string Name { get; set; }
    public virtual int DivisionId { get; set; }
 }

 public class Fixture
 {
    public int FixtureId { get; set; }
    public DateTime Date { get; set; }
    public Team HomeTeam { get; set; }
    public Team AwayTeam { get; set; }
 }

我注意到当FixtureController进入时,HomeTeam和AwayTeam对象都为空。我是否必须以某种方式将其连接到控制器内部或是否应自动建立连接?

理想情况下,在视图中我可以拥有:

<td>
        @Html.DisplayFor(modelItem => item.HomeTeam.Name)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.AwayTeam.Name)
    </td>

所以我想我的问题是如何让我的控制器从Fixtures-&gt;团队中建立链接?

由于

1 个答案:

答案 0 :(得分:3)

在您的控制器中,使用.Include获取数据。另见:Loading Related Objects

var fixtures = db.Fixtures // The fixture data
    .Include(fixture => fixture.HomeTeam)  // Bring in the HomeTeam
    .Include(fixture => fixture.AwayTeam); // Bring in the AwayTeam