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