我如何在asp.net mvc中为我的存储库方法定义急切加载

时间:2012-03-18 18:36:46

标签: asp.net-mvc-3 entity-framework-4

我有以下调用存储库方法的操作方法: -

public ActionResult Details(int id)
        { 
            Instructor i = repository.FindInstructor(i);
            ViewBag.assessmentid = repository.FindassessmentID(id);
            if (i == null)
                return View("NotFound");
            else
                return View(i);}

但我如何定义我需要为教师实体上的Position导航属性定义一个急切的加载(因为教师可能拥有0个或多个位置),FindInstructor(i)存储库方法看起来如下:

public Question FindInstructor(int id)
        {
           return entities1.Instructors.FirstOrDefault(d => d.InstructorID == id); }

intellisense将 NOT 允许我写下类似的东西: -

return entities1.Instructors.Include(c => c.Position).FirstOrDefault(d => d.InstructorID == id); }

所以我的代码中缺少什么???

1 个答案:

答案 0 :(得分:4)

采用属性表达式的Include方法的重载是System.Data.Entity命名空间中的extension method

将此使用添加到您的文件中它应该可以工作:

using System.Data.Entity;

您可以详细了解加载的热切方式:Loading Related Entities