I have written a LINQ lambda query which so far which returns all staff which do not have an associated training row which works fine. I now need to amend my where clause to use
You can do the following (I've not used method chaining syntax to make it more readable IMO):
var query = from s in db.staff
join m in db.manager on s.manager_id equals m.id
join t in db.training on s.id equals t.staff_id into tr
from training in tr.DefaultIfEmpty()
select new
{
Staff = s,
Training = training
};