如果该查询的ID值至少不包含一次作为tableB中的参考值,我想有条件地从tableA的查询中排除项目...像这样......
初始查询:
var jobs = from j in Jobs select j; // there's more, just keeping it simple...
我尝试过这些子查询......
基于条件的可选过滤:
jobs = jobs.Where(j => Bidders.Select(b => b.JobKey == j.JobKey) != null);
或者这个:
jobs = jobs.Where(j => Bidders.Select(b => b.JobKey == j.JobKey).Count() > 0);
这似乎没有过滤掉投标人表中没有条目的作业...... 我该怎么办?
答案 0 :(得分:0)
如果没有导航属性,那么您对第一种方法有点接近:
jobs = jobs.Where(j => Bidders.Any(b => b.JobKey == j.JobKey));