我有这样的疑问:
var query = LinqKit.PredicateBuilder.New<Resume>();
if (selectedWorkFieldID != 0)
{
query = query.And(js => js.WorkFieldID == selectedWorkFieldID);
if (!(selectedJobIDs.Contains(0) && selectedJobIDs.Count() == 1))
{
foreach (int jobID in selectedJobIDs)
query = query.Or(js => js.JobID == jobID);
}
}
var finalQuery = context.Resumes.AsNoTracking().Include(r => r.ResumeSkills)
.ThenInclude(rs => rs.Skill).Include(r => r.JobSeeker).ThenInclude(r => r.Profile)
.AsExpandable().Where(query);
count = finalQuery.Count();
resumes = finalQuery.Skip(args.Skip.Value).Take(args.Top.Value).ToList<Resume>();
此查询返回所有简历,而不是筛选的简历。当我调试时,调试器游标进入使用或筛选的foreach块,并且selectedJobID中有一个jobID,但查询返回所有简历。 predicate 生成器似乎根本不工作。如何解决此问题?
1条答案
按热度按时间z3yyvxxp1#
我将代码更改为:
并对其进行校正。