If you need to do the Left joins then you have to use into
and DefaultIfEmpty()
as shown below.
var result = from person in _dbContext.Person
join detail in _dbContext.PersonDetails on person.Id equals detail.PersonId into Details
from m in Details.DefaultIfEmpty()
select new
{
id = person.Id,
firstname = person.Firstname,
lastname = person.Lastname,
detailText = m.DetailText
};
You can learn more about it : Left Outer Join in LINQ to Entities