xxxxxxxxxx
(from emp in reportQuery
join emap in db.ManagerEmployeeMapping
on Convert.ToInt32(emp.EmployeeId) equals emap.EmployeeId
join u in db.User on emp.EmployeeNumber equals u.EmployeeNo into uSet
from u in uSet.DefaultIfEmpty()
join mgr in db.User on emap.UserId equals mgr.UserId into mgrSet
from mgr in mgrSet.DefaultIfEmpty()
select new GetManagerEmployeeHierarchy_Result
{
EmployeeId = Convert.ToString(emap.EmployeeId),
EmployeeNumber = emp.EmployeeNumber,
EmployeeFirstName = emp.FirstName,
EmployeeLastName = emp.LastName,
ManagerLastName = mgr.LastName,
ManagerFirstName = mgr.FirstName,
}).ToListAsync();