List<Employee> employees = GetEmployees(false, empId, null);
List<AdminUser> adminUsers = GetAdminUsers(null, empId, null, null);
List<AdminUser> uniqueUsers = new List<AdminUser>();
var umUserMatches = from e in employees
join u in uniqueUsers
on (e.EmployeeID ?? string.Empty).ToLower() equals (u.EmpID ?? string.Empty).ToLower()
select new
{
EmployeeID = e.EmployeeID,
OldNTID = u.NTID,
NewNTID = e.NTID,
NewFirstName = e.Fname,
NewLastName = e.Lname
};
------解决思路----------------------
其实就2个表的关联查询
类似:
select * from A as a
inner join B as B on a....= b...
------解决思路----------------------
var umUserMatches = from e in employees
join u in uniqueUsers
on (e.EmployeeID ?? string.Empty).ToLower() equals (u.EmpID ?? string.Empty).ToLower()
select new
{
EmployeeID = e.EmployeeID,
OldNTID = u.NTID,
NewNTID = e.NTID,
NewFirstName = e.Fname,
NewLastName = e.Lname
};
Linq,等价于
select e.EmployeeID as EmployeeID ,u.NTID as OldNTID ,e.NTID as NewNTID ,e.Fname as NewFirstName ,e.Lname as NewLastName
from employees e,uniqueUsers u
where lower(isnull(e.EmployeeID,'')) = lower(isnull(u.EmpID,''))