繁体   English   中英

使用LINQ选择具有不同列值的行

[英]Selecting rows with distinct column values using LINQ

我有一个SharePoint列表项的通用列表(列出员工)

SharePoint列表包含两列,“员工姓名”和“员工指定”

我想获得一个包含不同“Employee Designation”列值的对象List。

如何使用LINQ执行此操作?

这对我没有用:

 var designations = from SPListItem employee in employees
                    select new {Designation = employee["Employee Designation"].ToString().Distinct()};

如果只检索该列的字符串值,则可以通过选择字符串(而不是包含字符串属性的对象)来避免编写相等比较器。

var designations = (from SPListItem employee in employees
                    select employee["Employee Designation"].ToString())
                   .Distinct()
                   .ToList();

您必须在序列上使用Distinct方法,并且您需要提供IEqualityComparer<T>的自定义实现,因此您需要为要创建的对象提供显式类。

var designations = (from SPListItem employee in employees
                   select new 
                   {
                     Designation = employee["Employee Designation"].ToString()
                   }).Distinct(comparer);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM