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.