The source code to join multiple data sources using Linq, which is given below. The given program is compiled and executed successfully on Microsoft Visual Studio.
//C# program to join multiple data sources using Linq.
using System;
using System.Linq;
using System.Collections.Generic;
public class Employee
{
public int ID;
public int Salary;
public int DEPT_ID;
public int ADD_ID;
public string Name;
}
public class Department
{
public int DEPT_ID;
public string DEPT_Name;
}
public class Address
{
public int ADD_ID;
public string address;
}
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,ADD_ID=201},
new Employee {ID=102, Name="Amit " , Salary=3800,DEPT_ID=102,ADD_ID=202},
new Employee {ID=103, Name="Salman" , Salary=3500,DEPT_ID=103,ADD_ID=203},
new Employee {ID=104, Name="Ram " , Salary=2000,DEPT_ID=101,ADD_ID=204},
new Employee {ID=105, Name="Shyam " , Salary=7000,DEPT_ID=102,ADD_ID=205},
new Employee {ID=106, Name="Kishor" , Salary=5000,DEPT_ID=103,ADD_ID=206},
};
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 " },
};
List<Address> addresses = new List<Address>()
{
new Address {ADD_ID=201, address="AGRA " },
new Address {ADD_ID=202, address="BAMBAI " },
new Address {ADD_ID=203, address="CHENNAI " },
new Address {ADD_ID=204, address="DELHI " },
new Address {ADD_ID=205, address="GWALIOR " },
new Address {ADD_ID=206, address="JHASHI " },
};
var ResultQuery = (from emp in employees
join dept in departments
on emp.DEPT_ID equals dept.DEPT_ID
join add in addresses
on emp.ADD_ID equals add.ADD_ID
select new
{
ID = emp.ID ,
Name = emp.Name ,
Salary = emp.Salary ,
DeptName = dept.DEPT_Name,
address = add.address
}
).ToList();
Console.WriteLine("Employee Details: ");
foreach (var e in ResultQuery)
{
Console.WriteLine("\tID: " + e.ID + ", Name: " + e.Name + ", Salary: " + e.Salary + ", Department: " + e.DeptName+", Address: "+e.address);
}
}
}
In the above program, we created four classes Employee, Department, Address, and JoinDemo. Employee class contains data members ID, Name, Salary, and DEPT_ID. Department class contains DEPT_ID and DEPT_Name and Address class contains ADD_ID and address.
Now look to the JoinDemo class, the JoinDemo class contains the Main() method. In the Main() method we created a list of employees, departments, and addresses.
var ResultQuery = (from emp in employees
join dept in departments
on emp.DEPT_ID equals dept.DEPT_ID
join add in addresses
on emp.ADD_ID equals add.ADD_ID
select new
{
ID = emp.ID ,
Name = emp.Name ,
Salary = emp.Salary ,
DeptName = dept.DEPT_Name,
address = add.address
}
).ToList();
In the above code, we joined the Employee, Department, and Address class based on DEPT_ID and ADD_ID.
Program:
The source code to join multiple data sources using Linq, which is given below. The given program is compiled and executed successfully on Microsoft Visual Studio.
Output:
Explanation:
In the above program, we created four classes Employee, Department, Address, and JoinDemo. Employee class contains data members ID, Name, Salary, and DEPT_ID. Department class contains DEPT_ID and DEPT_Name and Address class contains ADD_ID and address.
Now look to the JoinDemo class, the JoinDemo class contains the Main() method. In the Main() method we created a list of employees, departments, and addresses.
In the above code, we joined the Employee, Department, and Address class based on DEPT_ID and ADD_ID.
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