在Linq中使用groupby多次加入

穆罕默德·纳西尔

我有5个表,我想使用linq从中获取一些信息。我正在使用以下查询从数据中读取数据。

var query = (from GRD in _tblStudents.GetQueryable() 
             join apt in _tblApplicants.GetQueryable() 
                  on GRD.ApplicantID equals apt.ApplicantID
             join cls in _tblClasses.GetQueryable() 
                  on GRD.CityID equals cls.ClassID
             join prg in _tblPrograms.GetQueryable() 
                  on cls.ProgramID equals prg.ProgramID
             join city in _tblCities.GetQueryable() 
                  on GRD.CityID equals city.CityID
             where GRD.AcademicYearID == yearId && cls.ProgramID == programId
             group apt by new{apt.Gender} into grouped
             select new CityWiseStudentModel
             {
                  CityName=city.CityName, 
                  //'city' does not exist in the current context
                  Gender = grouped.Count(),
                  programName=prg.Program, 
                 //'prg' does not exist in the current context
              }   

           );

我如何从城市表中获取城市名称和从PRG表中获取程序名称

囊1

group <--> by <--> into <--> 将您的范围更改为 IGrouping<a,b>

我的看法不仅apt.Gender是您的钥匙,city.CityName而且prg.Program

试试这个(或一些类似的):

group apt by new{apt.Gender, city, prg} into grouped
select new CityWiseStudentModel
{
     CityName = grouped.Key.city.CityName, 
     Gender = grouped.Count(), //rename GenderCount
     programName = grouped.Key.prg.Program,
     // Gender = grouped.Key.Gender,
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章