2017-04-06 36 views
-1
public IQueryable<JobLevelsWithJobCountViewModel> JobLevelsWithJobCountViewModels(string location = null) 
{ 
    return (from jl in _dbContext.JobLevels 
      from j in jl.Jobs 
      .Where(job => job.Company.ZipCode.MajorArea.Contains(location)) 
      .Where(job => !job.IsDeleted && !job.IsPrivate) 
      group jl by jl.JobLevelId into g 
      select new JobLevelsWithJobCountViewModel 
      { 
       JobLevel = g.FirstOrDefault(), 
       JobCount = g.FirstOrDefault().Jobs.Count(j => !j.IsDeleted && !j.IsPrivate) 
      }); 
} 

我不希望添加这个条件。凡(作业=> job.Company.ZipCode.MajorArea.Contains(位置))如果位置是空如何重写这个LINQ语句来处理位置变量条件?

回答

0

使用短路OR运营商如果location为空,则通过该条件:

.Where(job => location == null || job.Company.ZipCode.MajorArea.Contains(location)) 
+0

感谢它的工作原理:D –