返回List从另一个表MVC 2获取参数

时间:2015-09-15 17:12:19

标签: mysql list model-view-controller

所以我想做的是返回所有学生个人信息的列表,但我想这样做取决于他们在另一张桌子上的状态值,我该怎么做,现在是什么:

public ActionResult AdminPanel()
    {
        List<student> status1 = db.students.Where(u => Convert.ToInt32(u.status) == 1).ToList();
        return View(db.studentspersonalinformations.OrderBy(u => u.DNI).ToList());
    }

我得到的回报是所有的学生,但我想要的是让那些在桌面上有状态1的学生“学生”,我不能放一个.Where()因为它来自另一个表,并没有在网上找到任何可以帮助我的东西

1 个答案:

答案 0 :(得分:0)

您可能需要使用加入

var result = enumerableOfSomeClass
    .Join(enumerableOfSomeOtherClass,
          sc => sc.Property1,
          soc => soc.Property2,
          (sc, soc) => new
                       {
                           SomeClass = sc,
                           SomeOtherClass = soc
                       });

来自How to do a join in linq to sql with method syntax?

这尚未经过测试但看起来应该像这样

public ActionResult AdminPanel()
{
    List<student> status1 = db.students
                .Join(
                    sc => sc.studentID,     //Or whatever Information is linking your table together
                    soc => soc.studentID,
                    (sc, soc) => new
                    {
                        students = sc,
                        SomeOtherClass = soc
                    });
                .Where(u => Convert.ToInt32(sc.status) == 1).ToList();
            return View(db.studentspersonalinformations.OrderBy(u => u.DNI).ToList());
}