我是一個非常初學者,我想做一些非常簡單的事情,我想我錯過了一些東西,但我找不到答案。如何使用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等中創建第三個表格來實現這一點,但是有什麼可以讓本地多對多關係如此的可能?
對不起,如果你看起來很明顯,這不是我,我只是一個初學者。
不知何故,你已經擁有了一切,看起來一切正常。問題究竟是什麼?特別是我不明白:*「但是有什麼可以讓本地的多對多關係如此呢?」* – Slauma 2012-02-11 19:39:05
這一切對我來說都很好,你會得到一個錯誤嗎? – Paul 2012-02-11 23:40:21
好了,主要的問題是: 如何實現我想要的代碼中的註釋做: // SHOW PACK.ID PACK.DESCRIPTION //顯示與這個包 的活動開展以來,我可以」做T這樣的事(我知道這沒有意義): @foreach(VAR包的型號) { pack.activity.activities } 要顯示所有相關的包中activites。 我應該在第一個文章中寫另一個foreach嗎? 非常感謝您的回答。 – user1204137 2012-02-13 16:45:54