var query = from a in context.aTable
select new {
A = a,
B = (from b in context.bTable
where (a.UserId == b.Field1 && b.Field2 == SOME_VARIABLE) ||
(a.UserId == b.Field2 && b.Field1 == SOME_VARIABLE)
select b
).DefaultIfEmpty()
}
You can ignore DefaultIfEmpty
depending on your need.