Programa C# para unirse a la clase de empleado y departamento mediante LINQ Join Query

Dadas dos clases denominadas Empleado y Departamento, ahora unimos la clase Empleado y Departamento con la ayuda de LINQ join Query. Entonces, para esta tarea, usamos la cláusula Join . Esta cláusula se utiliza para unir dos fuentes de datos en una fuente que tiene algunos atributos comunes. Siempre se necesitan dos fuentes de datos y el resultado de la combinación depende del tipo de combinación que se utilice, como combinación interna, combinación cruzada, combinación externa izquierda y combinación grupal.

Ejemplo:

Aporte:

Alumno

nuevo empleado{id = 7058, nombre = “sravan kumar”, dept_id = 1, add_id = 21},

nuevo empleado{id = 7059, nombre = “jyothika”, dept_id = 2, add_id = 22},

nuevo empleado{id = 7072, nombre = «harsha», dept_id = 1, add_id = 22},

nuevo empleado{id = 7076, nombre = “khyathi”, dept_id = 4, add_id = 27},

Departamento

nuevo Departamento{dept_id = 1, dept_name = “CSE”},

nuevo Departamento{dept_id = 2, dept_name = “CSE”},

nuevo Departamento{dept_id = 3, dept_name = “TI”},  

Dirección

nueva dirección{add_id = 21, address_name = “hyd”},

nueva dirección{add_id = 22, address_name = “railu-peta”},

nueva dirección{add_id = 24, address_name = “chenchu-peta”},  

Producción:

ID: 7058–> Nombre: sravan kumar–> Departamento: CSE–> Dirección: hyd

ID: 7059–> Nombre: jyothika–> Departamento: CSE–> Dirección: railu-peta

DNI: 7072–> Nombre:harda–> Departamento: CSE–> Dirección: railu-peta

Acercarse:

1. Cree dos fuentes de datos usando una lista llamada Empleado y Departamento declarando las variables.

2. Agregue valores a estas listas.

3. Realice la unión según la identificación del estudiante y la identificación del departamento.

var result = (from stu in employees
join dept in departments on stu.dept_id equals dept.dept_id).ToList();

4. Seleccione los datos usando el método select().

select new
{
    ID = stu.id, Name = stu.name,
    DeptName = dept.dept_name,
}

5. Muestre la salida usando para cada ciclo.

foreach(var e in result)
{
    Console.WriteLine("ID: " + e.ID + 
                "--> Name: " + e.Name + 
          "--> Department: " + e.DeptName );
}

Ejemplo:

C#

// C# program to Join Employee and Department Class 
// using LINQ Join Query
using System;
using System.Linq;
using System.Collections.Generic;
  
// Variables for Employee list
public class Employee
{
    public int id;
    public string name;
    public int dept_id;
    public int add_id;
}
  
// Variables for Department list
public class Department
{
    public int dept_id;
    public string dept_name;
}
  
// Variables for Address list
public class Address
{
    public int add_id;
    public string address_name;
}
  
class GFG{
  
// Driver code
static void Main(string[] args)
{
      
    // Enter data for Employee list
    List<Employee> employees = new List<Employee>()
    {
        new Employee{ id = 234, name = "sravan kumar",
                      dept_id = 1},
        new Employee{ id = 244, name = "Monika",
                      dept_id = 2},
        new Employee{ id = 734, name = "harsha",
                      dept_id = 1},
        new Employee{ id = 533, name = "komal",
                      dept_id = 4},
    };
  
    List<Department> departments = new List<Department>()
    {
        new Department{ dept_id = 1, dept_name = "CSE" },
        new Department{ dept_id = 2, dept_name = "CSE" },
        new Department{ dept_id = 3, dept_name = "IT " },
    };
  
    // Join the employees  and other two tables
    var result = (from stu in employees
  
                join dept in departments on stu
                .dept_id equals dept
                .dept_id
  
                select new
                {
                    ID = stu.id, Name = stu.name,
                    DeptName = dept.dept_name,
                }).ToList();
                  
    // Display the result
    foreach(var e in result)
    {
        Console.WriteLine("ID: " + e.ID + 
                    "--> Name: " + e.Name + 
              "--> Department: " + e.DeptName );
    }
}
}

Producción:

ID: 234--> Name: sravan kumar--> Department: CSE
ID: 244--> Name: Monika--> Department: CSE
ID: 734--> Name: harsha--> Department: CSE

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *