1

我是一個非常初學者,我想做一些非常簡單的事情,我想我錯過了一些東西,但我找不到答案。如何使用MVC3多對多關係和EF4.1模型首先檢索數據?

我有兩個表許多一對多的關係與EF4.1

public partial class Activity 
{ 
    public Activity() 
    { 
     this.Pack = new HashSet<Pack>(); 
    } 

    public int ActivityId { get; set; } 
    public string Type { get; set; } 
    public string Title { get; set; } 
    public string Price { get; set; }  
    public virtual ICollection<Pack> Pack { get; set; } 
} 

public partial class Pack 
{ 
    public Pack() 
    { 
     this.Activity = new HashSet<Activity>(); 
    } 

    public int PackId { get; set; } 
    public string Name { get; set; } 
    public string Description { get; set; } 
    public string Price { get; set; } 

    public virtual ICollection<Activity> Activity { get; set; } 
} 

,併產生了上下文類映射:

public partial class EvgDatabaseEntities : DbContext 
{ 
    public EvgDatabaseEntities() 
     : base("name=EvgDatabaseEntities") 
    { 
    } 
    public DbSet<Pack> PackSet { get; set; } 
    public DbSet<Activity> ActivitySet { get; set; } 
} 

在我的索引視圖,我只需要顯示數據包中的數據以及與此包相關的活動。

這裏是控制器:

public ActionResult Index() 
{ 
    var packs = evgDB.PackSet.Include("Activity").ToList(); 
    return View(packs); 
} 

這裏就是我想在我看來,要做到:

@model IEnumerable<myEvg.Models.EvgDatabaseEntities> 
@{ 
    ViewBag.Title = "Index"; 
} 
@foreach (var pack in Model) 
{ 
    //SHOW PACK.ID PACK.DESCRIPTION 
    //SHOW THE ACTIVITIES RELATED TO THIS PACK 
} 

什麼是最好的方法/做法來做到這一點? 我可以通過在我的EDM等中創建第三個表格來實現這一點,但是有什麼可以讓本地多對多關係如此的可能?

對不起,如果你看起來很明顯,這不是我,我只是一個初學者。

+0

不知何故,你已經擁有了一切,看起來一切正常。問題究竟是什麼?特別是我不明白:*「但是有什麼可以讓本地的多對多關係如此呢?」* – Slauma 2012-02-11 19:39:05

+0

這一切對我來說都很好,你會得到一個錯誤嗎? – Paul 2012-02-11 23:40:21

+0

好了,主要的問題是: 如何實現我想要的代碼中的註釋做: // SHOW PACK.ID PACK.DESCRIPTION //顯示與這個包 的活動開展以來,我可以」做T這樣的事(我知道這沒有意義): @foreach(VAR包的型號) { pack.activity.activities } 要顯示所有相關的包中activites。 我應該在第一個文章中寫另一個foreach嗎? 非常感謝您的回答。 – user1204137 2012-02-13 16:45:54

回答

相關問題