当前位置: 代码迷 >> C# >> 请教这段话如何解读,多谢
  详细解决方案

请教这段话如何解读,多谢

热度:26   发布时间:2016-05-05 03:47:44.0
请问这段话怎么解读,谢谢!
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,''))
  相关解决方案