Я согласен с Крейгом Штунцем, что использование Join является неправильным, но вы можете выразить тот же запрос LINQ, используя методы расширения следующим образом:
return DataContext.Employees
.Join(DataContext.Dept, e => e.DeptId, d => d.Id, (e,d) => new { Employee = e, Department = d })
.Join(DataContext.OtherInfo, s => s.Employee.Id, o => o.EmployeeId, (s, o) => new { Employee => s.Employee, Department = s.Department, OtherInfo = o })
.Where(e => e.Employee.Id == 4)
.Select(e => select new Employee_Dept//DTO
{
EmployeeName=e.Employee.Name,
DeptName=e.Department.Name
EmployeeId=e.Employee.ID
DeptId=e.Department.Id
ContactNo=e.OtherInfo.ContactNo
}