Showing posts with label inner join in LINQ. Show all posts
Showing posts with label inner join in LINQ. Show all posts

Thursday, December 27, 2012

LINQ Join Query

    class Employee  
    {  
      public int EmployeeID { get; set; }  
      public string EmployeeName { get; set; }  
      public int DeptId { get; set; }  
    }  
    class Dept  
    {  
      public int DeptId { get; set; }  
      public string DeptName { get; set; }  
    }  
      List<Dept> dept = new List<Dept>();  
      List<Employee> emp = new List<Employee>();  
      dept.AddRange(new Dept[]   
      {   
       new Dept{ DeptId=1, DeptName="IT" },  
       new Dept{ DeptId=2, DeptName="Engineering" }  
      });  
      emp.AddRange(new Employee[]  
      {  
       new Employee{EmployeeID = 1, DeptId = 1, EmployeeName="Sohail"},  
       new Employee{EmployeeID = 2, DeptId = 1, EmployeeName="Zeeshan"},  
       new Employee{EmployeeID = 3, DeptId = 2, EmployeeName="Zubair"},  
      });  
      emp.Join(dept, empRow => empRow.DeptId, deptRow => deptRow.DeptId, (selectEmpRow, selectDeptRow) =>  
       new  
       {  
         EmpId = selectEmpRow.EmployeeID,  
         EmpName = selectEmpRow.EmployeeName,  
         DeptName = selectDeptRow.DeptName  
       })  
       .ToList()  
       .ForEach(_ => { Console.WriteLine("{0} {1} {2}", _.EmpId, _.EmpName, _.DeptName); });