Left Outer Join in LINQ

Entity classes
  1. public class EmpDetails  
  2. {  
  3.    public int EmpDepartmentID { getset; }  
  4.    public string empname { getset; }  
  5. }  
  6. public class EmpDepartment  
  7. {  
  8.    public int DepartmentID { getset; }  
  9.    public string depname { getset; }  
  10. }  
I have two lists where i will use left outer join Lists are:
  1. List<EmpDepartment> listdepartment = new List<EmpDepartment>();  
  2. List<EmpDetails> listempdetails = new List<EmpDetails>();  
Inserting data into list listdepartment.
  1. listdepartment.Add(new EmpDepartment() { DepartmentID = 1, depname = "Devep" });  
  2.            listdepartment.Add(new EmpDepartment() { DepartmentID = 2, depname = "C#" });  
  3.            listdepartment.Add(new EmpDepartment() { DepartmentID = 3, depname = "IOS" });  
Inserting data into list listempdetails.
  1. istempdetails.Add(new EmpDetails() {EmpDepartmentID=1,empname="Ruchit" });  
  2.         listempdetails.Add(new EmpDetails() { EmpDepartmentID = 2, empname = "Ruchita" });  
  3.         listempdetails.Add(new EmpDetails() { EmpDepartmentID = 4, empname = "Ruchita" });  
Applying left outer join.
  1. var resultDefaultIfEmpty = from emp in listdepartment  
  2.                                   join worker in listempdetails on emp.DepartmentID equals worker.EmpDepartmentID into ResultEmpWorker  
  3.                                   from output in ResultEmpWorker.DefaultIfEmpty()  
  4.                                   select new  
  5.                                   {  
  6.                                       EmployeeName = emp.depname,  
  7.                                       City = output != null ? output.empname : "Not"  
  8.                                   };  
Hope you have got idea how to apply left outer join in LINQ.