Q:

C# program to join Employee and Department class using Linq Join Method

0

C# program to join Employee and Department class using Linq Join Method

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program:

The source code to join the Employee and Department using Linq Join Method, which is given below. The given program is compiled and executed successfully on Microsoft Visual Studio.

//C# program to join Employee and 
//Department class using Linq Join Method

using System;
using System.Linq;
using System.Collections.Generic;

public class Employee
{
    public int      ID      ;
    public int      Salary  ;
    public int      DEPT_ID ;
    public string   Name    ;
}

public class Department
{
    public int DEPT_ID;
    public string DEPT_Name;
}

public class JoinDemo
{
    static void Main(string[] args)
    {

        List<Employee> employees = new List<Employee>()
        {
             new Employee {ID=101,   Name="Amit  "    , Salary=4000,DEPT_ID=101},
             new Employee {ID=102,   Name="Amit  "    , Salary=3800,DEPT_ID=102},
             new Employee {ID=103,   Name="Salman"    , Salary=3500,DEPT_ID=103},
             new Employee {ID=104,   Name="Ram   "    , Salary=2000,DEPT_ID=101},
             new Employee {ID=105,   Name="Shyam "    , Salary=7000,DEPT_ID=102},
             new Employee {ID=106,   Name="Kishor"    , Salary=5000,DEPT_ID=103},
        };

        List<Department> departments = new List<Department>()
        {
             new Department {DEPT_ID=101,   DEPT_Name="HR        "   },
             new Department {DEPT_ID=102,   DEPT_Name="ACCOUNTS  "   },
             new Department {DEPT_ID=103,   DEPT_Name="SALES     "   },
        };

        var Result = employees.Join(departments,  
                           emp => emp.DEPT_ID, 
                           dept => dept.DEPT_ID, 
                           (emp, dept) => new 
                           {
                               ID      = emp.ID     ,
                               Name    = emp.Name   ,
                               Salary  = emp.Salary ,
                               DeptName = dept.DEPT_Name

                           }).ToList();
        Console.WriteLine("Employee Details: ");
        foreach (var e in Result)
        {
            Console.WriteLine("\tID: "+e.ID+", Name: "+e.Name+", Salary: "+e.Salary+", Department: "+e.DeptName);
        }
    }
}

Output:

Employee Details:
        ID: 101, Name: Amit  , Salary: 4000, Department: HR
        ID: 102, Name: Amit  , Salary: 3800, Department: ACCOUNTS
        ID: 103, Name: Salman, Salary: 3500, Department: SALES
        ID: 104, Name: Ram   , Salary: 2000, Department: HR
        ID: 105, Name: Shyam , Salary: 7000, Department: ACCOUNTS
        ID: 106, Name: Kishor, Salary: 5000, Department: SALES
Press any key to continue . . .

Explanation:

In the above program, we created three classes EmployeeDepartment, and JoinDemoEmployee class contains data members IDNameSalary, and DEPT_ID. The Department class contains DEPT_ID and DEPT_Name.

Now look to the JoinDemo class, the JoinDemo class contains the Main() method. In the Main() method we created a list of employees and departments.

var Result = employees.Join(departments,  
                emp => emp.DEPT_ID, 
                dept => dept.DEPT_ID, 
                (emp, dept) => new 
                {
                    ID      = emp.ID     ,
                    Name    = emp.Name   ,
                    Salary  = emp.Salary ,
                    DeptName = dept.DEPT_Name

                }).ToList();

In the above code, we joined the Employee and Department class using Join() method and select IDNameSalary, and DEPT_Name.

Console.WriteLine("Employee Details: ");
foreach (var e in Result)
{
    Console.WriteLine("\tID: "+e.ID+", Name: "+e.Name+", Salary: "+e.Salary+", Department: "+e.DeptName);
}

The above code will print the result of join on the console screen.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now