我检查了可能已经有了我的答案的问题,但似乎没有一个能解决我遇到的问题:
var semesters = db.Semesters.Where(e => e.ID == semester).ToList();
var semestersbyfaculty = db.SemestersByFaculty.Where(e => e.FacultyID == id).ToList();
如果我在 SQL 中执行以下操作,我该如何内部连接这两个查询:
SELECT
Fac.*, Sem.SemesterText
FROM
SemestersByFaculty AS Fac
INNER JOIN
Semesters AS Sem
ON
Fac.SemesterID = Sem.ID
WHERE id
Fac.FacultyID = id
最佳答案
Inner Join
以下示例显示了一个简单的内部等值连接。
var query = from fac in db.SemesterByFaculty
join sem in db.Semester on fac.SemesterID equals sem.ID
where fac.FacultyID == id
select new { Faculty = fac, SemesterText = sem.SemesterText };
有关详细信息,请参阅 How to: Perform Inner Joins (C# Programming Guide) .
更新:
来自评论
模型
class MyModel {
public MitModel.SemestersByFaculty Faculty{ get; set; }
public string SemesterText { get; set; }
}
class MyViewModel {
public List<MyModel> SemesterFaculties { get; set; }
}
行动:
public ActionResult SomeAction(string id) {
var query = from fac in db.SemesterByFaculty
join sem in db.Semester on fac.SemesterID equals sem.ID
where fac.FacultyID == id
select new MyModel{ Faculty = fac, SemesterTest = sem.SemesterTest };
var viewModel = new MyViewModel { SemesterFaculties = query.ToList() };
return View(viewModel);
}
查看
@Model MyViewModel
关于c# - MVC EF——内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38040038/