2013-01-12 41 views
-1

我有兩個實體之間的一對多關係,撲滅和戰鬥卡(戰鬥屬於戰鬥卡,戰鬥卡可以有許多戰鬥)。戰鬥實體與一個名爲Fighters的實體有多對多的關係。我想要做的是在FightCard視圖中顯示Fight實體的細節(這很簡單,我可以做到這一點),但是我也顯示了與Fight實體具有一對多關係的Fighters的細節。處理關係中的數據

這怎麼辦?我希望這是有道理的。

+0

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –

+2

你到目前爲止嘗試過什麼?請發佈代碼示例,以便我們可以看到您的位置並指出您的方向正確。 –

回答

3

你沒有在代碼中包含太多內容,所以這裏有一個基本的例子來概述你想要做的事情。

所以,讓我們說你有一些實體類是這樣的:

public class FightCard 
{ 
    [Key] 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public virtual ICollection<Fight> Fights { get; set; } 
} 

public class Fight 
{ 
    [Key] 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public FightCard FightCard { get; set; } 
    public virtual ICollection<Fighter> Fighters { get; set; } 
} 

public class Fighter 
{ 
    [Key] 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public virtual ICollection<Fight> Fights { get; set; } 
} 

有這樣的控制器與Details動作:

public class FightCardsController : Controller 
{ 
    private MyContext context = new MyContext(); 

    public ActionResult Details(int id) 
    { 
     FightCard fightCard = context.FightCards.Find(id); 
     if (fightCard == null) 
     { 
      return this.HttpNotFound(); 
     } 

     return this.View(fightCard); 
    } 
} 

然後,你可以做一個FightCards\Details.cshtml視圖像以下:

@model MyProject.Models.FightCard 

<h1>Fight Card: @Model.Name</h1> 

<ul> 
@foreach (var fight in Model.Fights) 
{ 
    <li> 
     Fight: @fight.Name 

     <ul> 
     @foreach (var fighter in fight.Fighters) 
     { 
      <li>Fighter: @fighter.Name</li> 
     } 
     </ul> 
    </li> 
} 
</ul> 
+0

非常感謝你,我刪除了我有過的代碼,但代碼非常相似,但語法錯誤。非常感謝。 –