This is usually a mistake in using explicit join in LINQ to Entities.
Use navigation properties instead:
var q = Context.TableAs.Select(a => new { a.Foo, a.TableB.Bar });
LINQ to Entities will bind null references. Therefore, if a.TableB is null for some record in TableAs , then a.TableB.Bar will return null instead of giving you a null-reference exception. So it behaves like SQL LEFT JOIN
source share