Entity framework 在实体框架中对多个表使用内部联接?

Entity framework 在实体框架中对多个表使用内部联接?,entity-framework,asp.net-mvc-4,Entity Framework,Asp.net Mvc 4,我的数据库中有一个student表,其中包含Id、Name、DepartmentId、CollegeId、CityId等列,还有一个Department表、College表映射到student表中的DepartmentId、CollegeId 现在,我想传递CityId并检索Id、Name、DepartmentName、CollegeName,借助于基于CityId的使用内部联接的相应表 我正在实现一个方法FindAll(),它接受CityId作为输入参数,并基于CityId检索数据 pub

我的数据库中有一个
student
表,其中包含
Id、Name、DepartmentId、CollegeId、CityId等列,还有一个
Department
表、
College
表映射到
student
表中的
DepartmentId
CollegeId

现在,我想传递
CityId
并检索
Id、Name、DepartmentName、CollegeName
,借助于基于
CityId
的使用内部联接的相应表

我正在实现一个方法
FindAll()
,它接受
CityId
作为输入参数,并基于
CityId
检索数据

  public IEnumerable<StudentRegionEntity> FindAll(int CityId)
  {
     var totalStudents = new List<StudentRegionEntity>();

     foreach(var entity in this.Dbcontext.Students)
     {
     }
  }
public IEnumerable FindAll(int CityId)
{
var totalStudents=新列表();
foreach(this.Dbcontext.Students中的var实体)
{
}
}
在foreach循环中,我想用
Id、Name、Department、College
字段绑定学生列表,如何使用联接并实现
FindAll()的功能


这将使用对数据库的一个联接查询,提供所有附加了StudentRegionEntity的StudentEntity实体的列表。

谢谢,以后不再重复。使用联接会导致添加外部的、混乱的实体类(您使用StudentRegionEntity还有什么其他用途?)。只需使用导航属性:
Student.Region.Name
。我不明白,我应该如何使用1个join,我有多个表,而您使用“studentlist”作为stringIt是指向StudentEntity类中属性的路径。属性名StudentList。它将根据城市id筛选SuddentEntities,同时加入StudentRegionEntity并为您获得的每个studentEntity检索StudentRegionEntity好的,我已将值获取给studentEntities,如何从studentEntities获取值并绑定到我的列表totalStudents?totalStudents是什么意思?你需要总数吗?你能在问题中再发一遍你的代码吗?
var studentEntities =  this.Dbcontext.Students
    .Include("StudentList").Where(s => s.cityId == CityId).ToList()