Home »
.Net »
C# Programs
C# - Join Employee and Department class using LINQ Join Query
Learn, how to join Employee and Department class using Linq Join Query in C#?
By Nidhi Last updated : April 01, 2023
Here, we will create two classes Employee and Department. Then we will join both Employee and Department based on department id using Linq Join Query.
C# program to join Employee and Department class using LINQ Join Query
The source code to join Employee and Department using Linq Join Query, 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 Query.
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 ResultQuery = (from emp in employees join dept in departments on emp.DEPT_ID equals dept.DEPT_ID select new {
ID = emp.ID,
Name = emp.Name,
Salary = emp.Salary,
DeptName = dept.DEPT_Name
}).ToList();
Console.WriteLine("Employee Details: ");
foreach(var e in ResultQuery) {
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 Employee, Department, and JoinDemo. Employee class contains data members ID, Name, Salary, 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 ResultQuery = (from emp in employees
join dept in departments
on emp.DEPT_ID equals dept.DEPT_ID
select new
{
ID = emp.ID,
Name = emp.Name,
Salary = emp.Salary,
DeptName = dept.DEPT_Name
}).ToList();
In the above code we joined Employee and Department class using join query and select ID, Name, Salary, and DEPT_Name.
Console.WriteLine("Employee Details: ");
foreach (var e in ResultQuery)
{
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.
C# LINQ Programs »