Подтвердить что ты не робот

Как использовать объединение в LINQ?

Как использовать объединение всех в LINQ TO SQL. Я использую следующий код для объединения, тогда как использовать это для объединения всех?

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();
4b9b3361

Ответ 1

Concat является эквивалентом LINQ UNION ALL в SQL.

Я установил простой пример в LINQPad, чтобы продемонстрировать, как использовать Union и Concat. Если у вас нет LINQPad, получите его.

Чтобы иметь возможность видеть разные результаты для этих заданий, первый и второй наборы данных должны иметь по крайней мере некоторое перекрытие. В приведенном ниже примере оба набора содержат слово "не".

Откройте LINQPad и установите раскрывающийся список Language в С# Statement (s). Вставьте следующее в панель запроса и запустите его:

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...

Результат LinqPad выглядит следующим образом:

введите описание изображения здесь