from mstr in m_db.master_records
join loctab in
(
from bp in m_db.basepay_records
select new { empID = bp.p_empid, loc = bp.p_loc }
)
.Union
(
from ass in m_db.emp_assignments
select new { ass.a_emp, ass.a_loc }
)
on mstr.prem_emp = loctab.empID
在最后一行收到错误,说loctab不在范围内。我玩了一下,但是我看不到另外一种方法。
答案 0 :(得分:2)
你最后一行应该是这样的。
on loctab.empID equals mstr.prem_emp
select //... perform your select on the unioned tables.
答案 1 :(得分:1)
我不明白“不在范围内”在这里意味着什么,但有一件事是错的。两个匿名类型应该具有完全相同的定义,否则您不能使用Union:
你有:
select new { empID = bp.p_empid, loc = bp.p_loc }
然后还使用:
select new { empID = ass.a_emp, loc = ass.a_loc }
也许异常消息是一种伪装的方式来告诉它。