2011-11-23 88 views
2

我對MVC方法有點新鮮。我已經開始使用數據庫模型。我目前有兩個表:外鍵不能在視圖中顯示

  • 燈具

配件(除其他領域)具有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對象都爲null。我必須以某種方式將它連接到控制器內部,還是應該自動進行連接?

所以最好再在視圖中,我可以有:

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

,所以我想我的問題是如何得到我的控制器,使從Fixtures->團隊的聯繫?

感謝

回答

2

在你的控制器,使用.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 
+0

注意上面的使用在'System.Data.Entity'命名空間的擴展,所以你會希望有一個'使用System.Data.Entity的;'。或者,您可以使用標準的'Include',它包含要加載的內容的字符串路徑,請參閱http://msdn.microsoft.com/en-us/library/bb738708.aspx –

+0

完美!感謝您的快速回復,更重要的是鏈接。 – nik0lias