Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Numerics;
- using System;
- using revision;
- public class Program
- {
- static void Main(String[] args)
- {
- var departments = new List<Department>
- { new(1 , "HR"),
- new(2 , "Development"),
- new(3 , "IT"),
- new(4 , "Finance"),
- new(6 , "Testing"),
- };
- var employees = new List<Employee> {
- new("Abeer", 21 , 4000, 2),
- new("Amr", 29 , 6000, 4),
- new("Ahmed", 25 , 8000, 1),
- new("Omar", 25 , 10000, 3),
- new("Sara", 25 , 10000, 5),
- };
- // Inner Join
- //var query = from employee in employees
- // join department in departments
- // on employee.DepartmentId equals department.Id
- // select new { EmployeeName = employee.Name, DepartmentName = department.Name };
- // Method Syntax
- var query = employees.Join(departments, e => e.DepartmentId, d => d.Id, (e, d) => (e.Name, d.Name));
- //foreach (var record in query)
- //{
- // Console.WriteLine($"{record.EmployeeName} @ {record.DepartmentName}");
- //}
- // (Left join + Grouping)
- var query2 = from employee in employees
- join department in departments
- on employee.DepartmentId equals department.Id into departmentGroup
- select new {
- EmployeeName = employee.Name,
- DepartmentName = departmentGroup.Select(d => d.Name).FirstOrDefault()
- };
- //foreach (var record in query2)
- //{
- // Console.WriteLine($"{record.EmployeeName} @ {record.DepartmentName}");
- //}
- // Group
- var records = from employee in employees group employee by employee.DepartmentId;
- foreach (var record in records)
- {
- string emps = string.Join(" , ",record.Select(x => x.Name));
- Console.WriteLine($"Group #{record.Key} : {emps}");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement