SELECT E.Id As 'EmpId,' E.Name As 'EmpName', D.Name AS 'DeptName', E.HireDate FROM Employee E LEFT OUTER JOIN Department D ON D.Id = E.DeptId var emps = new List<Employee>(); var depts = new List<Department>(); var infos = emps.GroupJoin(depts, emp => emp.DeptId, dept => dept.Id, (emp, tmpDept) => new {emp, tmpDept}) .SelectMany(x => x.tmpDept.DefaultIfEmpty(), (x, dept) => new { EmpId = x.emp.Id,