从列表中获取不同的值

public List GetEmployeeTransferListForHR(TimecardDataContext TimecardDC) { List objEmployeeTransferList = null; try { objEmployeeTransferList = new List(); objEmployeeTransferList = TimecardDC.MAS_EMPLOYEE_TRANSFER.Where( employee => employee.HR_ADMIN_IND=="Y").ToList(); } finally { } return objEmployeeTransferList; } 

它显示hr admin indicator = yes的所有值列表。 但我必须从表MAS_EMPLOYEE_TRANSFER获得hr admin=yes和distinct(empid)。 如何从objEmployeeTransferList获取不同的objEmployeeTransferList

 List ids = objEmployeeTransferList .Select(e => e.empId) .Distinct() .ToList(); 

您也可以在服务器端进行此操作,而无需创建包含所有管理记录的内存员工列表:

 List ids = TimecardDC.MAS_EMPLOYEE_TRANSFER .Where(e => e.HR_ADMIN_IND == "Y") .Select(e => e.empId) .Distinct() .ToList(); 

试试吧

 .Distinct().ToList(); 

你可以在这里参考LINQ:Distinct values

你试过:

 objEmployeeTransferList = TimecardDC.MAS_EMPLOYEE_TRANSFER.Where( employee => employee.HR_ADMIN_IND=="Y").Distinct().ToList(); 

linq中有一个独特的方法可以解决这个问题。

http://msdn.microsoft.com/en-gb/library/bb348436.aspx