Используя Linqpad для обработки моего запроса, получите указанную выше ошибку:
(from bp in basepay_records
select new { empID = bp.Prep_emp, loc = bp.Prep_loc }).Union
(
from ass in emp_assignments
select new { empID = ass.Prea_emp, loc = ass.Prea_loc }
)
Я пробовал это с парнем и без него в первом запросе, без различий. Этот союз является частью более крупного запроса, и в конечном итоге он окажется в подзапросе, который используется в соединении, поэтому я не могу сделать обычное, хотя я проверил его как отдельный запрос, и он не прошел, говоря нет определения для Союза:
var q1 = from bp in basepay_records select new { empID = bp.Prep_emp, loc = bp.Prep_loc };
var q2 = from ass in emp_assignments select new { empID = ass.Prea_emp, loc = ass.Prea_loc };
q1.Union (q2).Dump ("Union");
Я подтвердил, что все типы данных совпадают.
Полное сообщение об ошибке:
Не удается выполнить выделение текста: «System.Linq.IQueryable» не содержит определения для «Union» и лучшей перегрузки метода расширения «System.Linq.ParallelEnumerable.Union(System.Linq.ParallelQuery, System.Collections.Generic.IEnumerable) ' имеет несколько недопустимых аргументов
Аргумент экземпляра: невозможно преобразовать из «System.Linq.IQueryable» в «System.Linq.ParallelQuery».
AsParallel
для одного из объектов, но не для другого? - person Servy   schedule 30.05.2013