从列表中获取不同的值
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中有一个独特的方法可以解决这个问题。