LINQ 相关子查询

LINQ Correlated Subquery

两个表 - 车辆和协议。 我希望子查询检查我的车辆没有现有协议。我花了一整天的时间尝试实施在线找到的各种解决方案,但我无法使该查询正常工作。以下版本的问题是范围内不存在第 4 行 t1。我明白为什么会这样,但我不知道我需要做些什么。任何人都可以帮助一个崭露头角的新 .net 开发人员吗? :o)

var cars = from t1 in db.VEHICLEs
                   && !(from t2 in db.AGREEMENTs
                           where t2.STATUS_OPEN == true
                           where t1.CAR_ID == t2.CAR_ID
                           where enDate > t2.HIRE_START_DATE
                           where enDate < t2.HIRE_END_DATE
                           select t2)                               
                           select t1;

尝试使用任何。类似于 -

var cars =  from v in db.VEHICLEs
   where !AGREEMENTs.Any(a => (a.CAR_ID == v.CAR_ID 
   && a.STATUS_OPEN
   && enDate > v.HIRE_START_DATE
   && enDate < v.HIRE_END_DATE)