public class Employee
{
public string Name { get; set; }
public int ID { get; set; }
public int DeptID { get; set; }
}
public class Department
{
public int ID { get; set; }
public string Name { get; set; }
}
List<Employee> ListOfEmployees = new List<Employee>();
List<Department> ListOfDepartment = new List<Department>();
/*--Left Join in SQL
select Emp.Name, Dept.Name from Employee Emp left join Department Dept on
Emp.DeptID = Dept.ID
--Right Join In SQL
select Emp.Name, Dept.Name from Employee Emp right join Department Dept on
Emp.DeptID = Dept.ID*/
//Left Join in LINQ
var LeftJoin = from emp in ListOfEmployees
join dept in ListOfDepartment
on emp.DeptID equals dept.ID into JoinedEmpDept
from dept in JoinedEmpDept.DefaultIfEmpty()
select new
{
EmployeeName = emp.Name,
DepartmentName = dept != null ? dept.Name : null
};
//Right join in LINQ
var RightJoin = from dept in ListOfDepartment
join employee in ListOfEmployees
on dept.ID equals employee.DeptID into joinDeptEmp
from employee in joinDeptEmp.DefaultIfEmpty()
select new
{
EmployeeName = employee != null ? employee.Name : null,
DepartmentName = dept.Name
};
No comments:
Post a Comment