2009-08-20 20 views
0

onotherテーブルのエンティティでFK参照を使用して新しいオブジェクトを作成したいとします。これは単純な作成ビューですが、ID == idのResearchエンティティを参照する方法はわかりません。 .NET 3.5 SP 1でEntity Frameworkのオブジェクト参照の使用

public ActionResult Create(int id) 
    { 
     SurveyPaper surveyPaper = new SurveyPaper(); 

     return View(surveyPaper); 
    } 

    [AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Create(int id, FormCollection collection) 
    { 
     var surveyPaper = new SurveyPaper(); 

     try { 
      UpdateModel(surveyPaper); 
      surveyPaper.Research.ResearchID = id; 
      _r.AddSurveyPaper(surveyPaper); 

      return RedirectToAction("Details", new { id = surveyPaper.SurveyPaperID }); 
     } 
     catch { 
      return View(surveyPaper); 
     } 
    } 

答えて

1

:.NET 4.0で

// obviously, substitute your real entity set and context name below 
surveyPaper.ResearchReference.EntityKey = 
    new EntityKey("MyEntities.ResearchEntitySetName", "ResearchID", id); 

は、代わりFK関連付けを使用します。

+0

データレイヤーまたはコントローラでこれを行う必要がありますか? – Ante

+0

IMHOコントローラーは、EFの知識を持つことを避けるためには本当に良くなるでしょう。だから、3.5のソリューションでは、コントローラでそれを行うことは避けてください。 OTOHでは、FKの関連付けはEF固有のものではないため、4.0のソリューションはいずれの場面でも機能します。 –

+0

tnx男、これは本当に役立ちます! – Ante

関連する問題