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' に変換できません