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; } 
} 

そして、生成されたコンテキストクラスにマッピングされた多対多の関係を持つ2つのテーブルがあります。私のインデックスビューで

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などで3番目のテーブルを作成することでそれを行うことができますが、ネイティブの多対多の関係を作ることができる点は何ですか?

申し訳ありませんご迷惑をおかけして申し訳ございませんが、それは私にとってではなく、私は初心者です。ここで

+0

何とかあなたはすでにすべてがあり、すべてが正しいと思われます。正確に何が問題なのですか?特に私は理解できません:* "ネイティブの多対多の関係を作る可能性を持つポイントは何ですか?" * – Slauma

+0

これはすべて私によく見えます、エラーが表示されますか? – Paul

+0

まあ、主な質問は: を私はコード内のコメントで何をしたいのかを実装するにはどうすればよい: // SHOW PACK.ID PACK.DESCRIPTION //私ができるので、このパック に関連する活動を表示します」パックに関連するすべてのactivitesを表示するには @foreach(モデル内のvarパック) { pack.activity.activities } :トンこの(私はそれが意味がありません知っている)のような何かを。 最初のものに別のforeachを書きますか? お返事ありがとうございました。 – user1204137

答えて

-1

は、コードファーストでそれを行う方法です:

http://blogs.msdn.com/b/wriju/archive/2011/05/14/code-first-ef-4-1-building-many-to-many-relationship.aspx

あなたはこの関係が保存されるそれ以外の場合はどこのデータベースに第三のテーブルを持っている必要がありますか?

+0

私はすでにデータベースに3番目のテーブルを持っています(私はモデルからデータベースを生成しました)。あなたの答えのためのthx。 – user1204137

関連する問題