score:2

(from a in Activities
join ov in OrganizationVolunteers on a.OrganizationID equals ov.OrganizationID
join av in ActivityVolunteers
on a.ActivityID equals av.VolunteerID into JoinedActVol
from av in JoinedActVol.DefaultIfEmpty()
where ov.VolunteerID==1
select new 
    {
        a.ActivityID,
        a.ActivityName,
        av.ActivityRole,
        a.OrganizationID,
        OrganizationName = (from o in Organizations where o.OrganizationID == a.OrganizationID select o.OrganizationName).FirstOrDefault()
    }).Union
    (from a in Activities
join av in ActivityVolunteers on a.ActivityID equals av.ActivityID 
where av.VolunteerID==1 && a.OrganizationID == null
select new 
    {
        a.ActivityID,
        a.ActivityName,
        av.ActivityRole,
        a.OrganizationID,
        OrganizationName = ""
    })

Related Articles