Asp.net mvc 4 实体框架外键连接
这是我的控制器:Asp.net mvc 4 实体框架外键连接,asp.net-mvc-4,frameworks,entity,Asp.net Mvc 4,Frameworks,Entity,这是我的控制器: public ActionResult Display(int id) { Child child = db.Children.SingleOrDefault(c => c.ChildID == id); ViewBag.ChildName = child.FamilyName + ", " + child.GivenName + ", " + child.MiddleName; EducationalHist
public ActionResult Display(int id)
{
Child child = db.Children.SingleOrDefault(c => c.ChildID == id);
ViewBag.ChildName = child.FamilyName + ", " + child.GivenName + ", " + child.MiddleName;
EducationalHistory eduHist = new EducationalHistory();
eduHist.ChildID = id;
child.EducationalHistories.Add(eduHist);
return PartialView(child);
}
实际上,我尝试将其内部联接到多个表中,并且我已检查了该查询。它似乎是正确的。下面是代码:
var chs = from eh in db.EducationalHistories
from shl in db.SchoolLevels
from shy in db.SchoolYears
from ar in db.Areas
from sh in db.Schools
from gr in db.GradeLevels
where eh.SchoolLevelID == shl.SchoolLevelID
where eh.SchoolYearID == shy.SchoolYearID
where eh.AreaID == ar.AreaID
where eh.SchoolID == sh.SchoolID
where eh.GradeLevelID== gr.GradeLevelID
select new
{
eh.ChildID,
shl.SchoolLevelName,
shy.SchoolYearName,
ar.AreaName,
sh.SchoolName,
gr.GradeLevelName
};
ViewBag.EducationalList = chs;
EducationalHistory eduHist = new EducationalHistory();
eduHist.ChildID = id;
// child.EducationalHistories.Add(eduHist);
// ViewBag.SelectList = db.EducationalHistories.Find(id);
return PartialView(chs);
但我现在的问题是,我不知道如何将数据从CHS变量传输到局部视图。
我通常使用模型类在视图模型上超过模型值。我可以使用viewbag传输查询的数据吗
再次感谢您。您能否更清楚地了解“我实际上不知道如何将这些外键连接到相应的表,以便获得与DoID等效的名称。”以便我们可以尝试帮助uI建议您创建一个与
Chs
变量具有相同字段的viewModel,因此,在您的局部视图中,您可以将一个模型声明为ViewModel我对此表示歉意,我删除了一些不必要的代码。谢谢Inanikian的建议,但我真的需要在每次需要内部联接表时创建一个新模型吗?