new example all linq linq-to-sql union

example - select linq c# list



¿Cómo usar union all en LINQ? (1)

Cómo usar union all en LINQ TO SQL. He usado el siguiente código para la unión, ¿cómo usar esto para unir todo?

List<tbEmployee> lstTbEmployee = obj.tbEmployees.ToList(); List<tbEmployee2> lstTbEmployee2 = (from a in lstTbEmployee select new tbEmployee2 { eid = a.eid, ename = a.ename, age = a.age, dept = a.dept, doj = a.doj, dor = a.dor }).Union(obj.tbEmployee2s).ToList();


Concat es el equivalente LINQ de UNION ALL en SQL.

He creado un ejemplo simple en LINQPad para demostrar cómo usar Union y Concat . Si no tienes LINQPad , LINQPad .

Para poder ver resultados diferentes para estas operaciones de conjunto, el primero y el segundo conjunto de datos deben tener al menos alguna superposición. En el siguiente ejemplo, ambos conjuntos contienen la palabra "no".

Abra LINQPad y configure el menú desplegable Idioma en la (s) declaración (es) de C #. Pegue lo siguiente en el panel de consulta y ejecútelo:

string[] jedi = { "These", "are", "not" }; string[] mindtrick = { "not", "the", "droids..." }; // Union of jedi with mindtrick var union = (from word in jedi select word).Union (from word in mindtrick select word); // Print each word in union union.Dump("Union"); // Result: (Note that "not" only appears once) // These are not the droids... // Concat of jedi with mindtrick (equivalent of UNION ALL) var unionAll = (from word in jedi select word).Concat (from word in mindtrick select word); // Print each word in unionAll unionAll.Dump("Concat"); // Result: (Note that "not" appears twice; once from each dataset) // These are not not the droids... // Note that union is the equivalent of .Concat.Distinct var concatDistinct = (from word in jedi select word).Concat (from word in mindtrick select word).Distinct(); // Print each word in concatDistinct concatDistinct.Dump("Concat.Distinct"); // Result: (same as Union; "not" only appears once) // These are not the droids...

El resultado en LinqPad se ve así: