获得名单不同的值 [英] Get distinct values from list

查看:93
本文介绍了获得名单不同的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 公开名单< MAS_EMPLOYEE_TRANSFER> GetEmployeeTransferListForHR(TimecardDataContext TimecardDC)
    {
        清单< MAS_EMPLOYEE_TRANSFER> objEmployeeTransferList = NULL;
        尝试
        {
            objEmployeeTransferList =新的List< MAS_EMPLOYEE_TRANSFER>();
            objEmployeeTransferList = TimecardDC.MAS_EMPLOYEE_TRANSFER.Where(
                员工= GT;
                    employee.HR_ADMIN_IND ==Y)了ToList();
        }
        最后
        {
        }
        返回objEmployeeTransferList;
    }

这表明值的所有列表,其中HR管理指标= YES。但我不得不从表 MAS_EMPLOYEE_TRANSFER 获得 HR管理= YES 和独特(EMPID)。如何获得不同的 EMPID 从的 objEmployeeTransferList


解决方案

 列表< INT> IDS = objEmployeeTransferList
                   。选择(E => e.empId)
                   。不同()
                   .ToList();

您也可以使这个服务器端而不在内存中的所有管理记录员工列表:

 列表< INT> IDS = TimecardDC.MAS_EMPLOYEE_TRANSFER
                   。凡(E => e.HR_ADMIN_IND ==Y)
                   。选择(E => e.empId)
                   。不同()
                   .ToList();

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

It shows all list of values where hr admin indicator=yes. But I have to get hr admin=yes and distinct(empid) from the table MAS_EMPLOYEE_TRANSFER. How to get distinct empId from the the objEmployeeTransferList.

解决方案

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

Also you can make this on server side without creating in-memory employee list with all admin records:

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

这篇关于获得名单不同的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆