0
使用Linqpad摸出我的查询,得到上述错误:错误的LINQ parallequery转换为IEnumerable的
(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 }
)
我已经有和无的第一个查询,不存在在括号试了一下。这个联合是一个更大的查询的一部分,并且这最终会放在一个用于联接的子查询中,所以我不能照常进行,尽管我测试了它作为一个独立的查询,但它失败了,说:没有Union的定义:
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”不包含“联盟”的定义和最佳推广方法重载“System.Linq.ParallelEnumerable.Union (System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable)”有一些无效参数
实例参数:无法从转换 'System.Linq.IQueryable' 到 'System.Linq.ParallelQuery'
你知道什么是具体的错误信息。一种可能性是empID类型,或者loc在每个匿名类型中是不同的。例如,一个可能很长,而另一个则是int。 – cgotberg
什么是basepay_records? –
basepay_records和emp_assignments是表格。 – BattlFrog