在控制器/视图中显示链接的表项

时间:2012-06-28 15:30:09

标签: asp.net asp.net-mvc

我有一个房间类,有3个链接表,PropertySex(如男/女),Stage

我可以让Index控制器使用Include返回链接的表项:

var rooms = db.Rooms.Include(r => r.Property).Include(r => r.Sex).Include(r => r.Stage);

我不知道的是,如何在Details控制器中包含这些链接表项:

Room room = db.Rooms.Find(id);

下面列出了完整的控制器:

    //
    // GET: /Room/

    public ActionResult Index()
    {
        var rooms = db.Rooms.Include(r => r.Property).Include(r => r.Sex).Include(r => r.Stage);
        return View(rooms.ToList());
    }

    //
    // GET: /Room/Details/5

    public ActionResult Details(int id = 0)
    {
        Room room = db.Rooms.Find(id);
        if (room == null)
        {
            return HttpNotFound();
        }
        return View(room);
    }

感谢您的帮助,

标记

1 个答案:

答案 0 :(得分:0)

包含后,您可以使用LINQ的 SingleOrDefault 方法 像这样:

Room room = db.Rooms.Include(r => r.Property)
        .Include(r => r.Sex)
        .Include(r => r.Stage)
        .SingleOrDefault(r => r.Id = id);