Cómo realizar uniones exteriores de izquierda - Linq en C#

Cómo realizar uniones exteriores de izquierda - Linq en C#

Para mostrar registros coincidentes desde la tabla izquierda y la tabla derecha en SQL, la unión externa izquierda es un tipo de operación de unión que se utiliza. En LINQ, la unión externa izquierda se puede realizar utilizando los métodos GroupJoin () y SelectMany (), este artículo discutirá ampliamente la realización de uniones exteriores izquierdas en LINQ usando C#.

Cómo realizar uniones exteriores de izquierda en Linq usando C#

Para realizar una unión externa izquierda en LINQ, puede usar el método GroupJoin () para unir dos secuencias basadas en una clave común y luego usar el método SelectMany () para aplanar el resultado, aquí hay un ejemplo:

usando el sistema;
Uso del sistema.Linq;
programa de clase

void estático main ()

var izquierda = new [] 1, 2, 3;
var right = new [] 2, 3, 4;
resultado var = izquierda.Groupjoin (
bien,
l => l,
r => r,
(l, r) => new left = l, right = r.DefaultiFeMpy ())
.SelectMany (
LR => LR.Bien.Seleccionar(
r => nuevo Left = Lr.Izquierda, derecha = r));
foreach (elemento var en resultado)

Consola.WriteLine ("0 1", elemento.Izquierda, artículo.Bien);


Este código realiza una unión externa izquierda en dos matrices de izquierda a derecha, e imprime el resultado en la consola. El método GroupJoin () realiza la unión y el SelectMany () El método se utiliza para aplanar el resultado. Finalmente, el resultado se imprime en la consola utilizando una función foreach loop y writeLine ():

Aquí hay otro ejemplo que demuestra el uso de la realización de las uniones de izquierda fuera al mostrar los respectivos nombres de los empleados y sus departamentos relevantes. A cada empleado se le ha asignado a cada departamento un número que luego se usa para que coincida con el departamento relevante con el empleado respectivo, aquí está el código completo para ello:

usando el sistema;
Uso del sistema.Colecciones.Genérico;
Uso del sistema.Linq;
Espacio de nombres tu espacio de nombre

programa de clase

static void main (string [] args)

Lista Empleados = nueva lista

New Employeename id = 1, name = "Sam", departamid = 1,
New Employeename id = 2, name = "jhon", departamid = 2,
New Employeename id = 3, name = "Kevin", Departamento = 2,
New Employeename id = 4, name = "bob", departamid = 3
;
Lista departamentos = nueva lista

Nuevo departamento id = 1, name = "Content Writing",
Nuevo departamento id = 2, name = "marketing",
Nuevo departamento id = 3, nombre = "Ingeniería"
;
Var Query = de Employeename en empleados
Únase al departamento en departamentos
en el nombre de empleo.Departamento de Departamento de Departamento.ID en Departamento de Group
Del departamento de Departamento de Group.DefaultiFempty ()
Seleccione nuevo EmployeenAmename = Employeename.Nombre, Departamento de Departamento = Departamento?.Nombre ?? "Ninguno" ;
foreach (resultado var en consultas)

Consola.WriteLine ($ "Employeename: Resultado.EmployeenAmename, Departamento: Resultado.Nombre de Departamento");



clase de empleo

public int id get; colocar;
nombre de cadena pública get; colocar;
Public int departamid get; colocar;

departamento de clases

public int id get; colocar;
nombre de cadena pública get; colocar;

Primero se dan datos de muestra que contienen nombre del empleado y el nombre de los departamentos y luego se otorga un número respectivo a cada uno. A continuación, la operación de unión se realiza utilizando el comando de unión y después de eso el resultado se guarda en una variable con nombre de consulta, a continuación, el bucle for se utiliza para imprimir los nombres y departamentos de los empleados respectivos y la salida del código será así :

Conclusión

La unión externa izquierda es una operación común en SQL, y también se puede realizar fácilmente usando Linq en C#. Usando los métodos GroupJoin () y SelectMany (), puede realizar uniones exteriores de izquierda en dos secuencias basadas en una clave común. Aunque la sintaxis para realizar las uniones externas izquierdas en LINQ puede ser difícil de entender para los principiantes, es un lenguaje poderoso y flexible que permite que las consultas complejas se realicen fácilmente.