Выбор строк с разными значениями столбцов с помощью LINQ - PullRequest
4 голосов
/ 07 сентября 2010

У меня есть общий список элементов списка SharePoint (сотрудники списка)

Список SharePoint содержит два столбца: «Имя сотрудника» и «Назначение сотрудника»

Я хочу получитьСписок объектов, содержащий отдельные значения столбца «Обозначение сотрудника».

Как мне это сделать с помощью LINQ?

Это не сработало для меня:

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

Ответы [ 2 ]

7 голосов
/ 07 сентября 2010

Если вы извлекаете только строковое значение этого столбца, вы можете избежать написания средства сравнения на равенство, выбрав строку (вместо объекта, содержащего свойство строки).

var designations = (from SPListItem employee in employees
                    select employee["Employee Designation"].ToString())
                   .Distinct()
                   .ToList();
2 голосов
/ 07 сентября 2010

Вы должны использовать метод Distinct для последовательности, и вам нужно будет предоставить пользовательскую реализацию IEqualityComparer<T>, поэтому вам понадобится явный класс для создаваемого вами объекта.

var designations = (from SPListItem employee in employees
                   select new 
                   {
                     Designation = employee["Employee Designation"].ToString()
                   }).Distinct(comparer);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...