如何在MVC中根据外键值显示一张表中的记录

时间:2019-01-29 13:02:04

标签: c# asp.net-mvc linq

我正在尝试创建一个包含参加特定课程的学生列表的视图。一个学生可以参加一门以上的课程,因此我的数据库中有一张学生(kursist)表和一张course_student(kursus_kursist)表。 course_student表中有一个student_id设置为引用Student.student_id的外键。

控制器:

// GET: hold/protokol
public ActionResult Protokol(int? id)
{
var kursus_kursist = db.kursus_kursist.Include(k => k.kurser).Include(k => k.kursister);
return View(kursus_kursist.ToList());
}

我尝试做:

// GET: hold/protokol
public ActionResult Protokol(int? id)
{
var kursus_kursist = db.kursus_kursist.where(kursus_kursist.kursus_kursist_id = id).Include(k => k.kurser).Include(k => k.kursister);
return View(kursus_kursist.ToList());
} 

但是我知道“分配之前不能使用局部变量'kursus_kursist'”,但是我将如何过滤结果,因此它们仅包括k.kursister中与ID匹配的记录?

1 个答案:

答案 0 :(得分:2)

应该是lambda:

where(x => x.kursus_kursist_id == id)

此处xkursus_kursist变量的类型相同。