На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> LINQ-запрос и сведение массива в строку
    Имеется таблица примерно следующего содержания:
    ExpandedWrap disabled
      1   Иван
      2   Николай
      3   Алексей
      1   Василий
      2   Михаил
      2   Егор
      2   Тимофей
      3   Игорь
      4   Иван
      4   Михаил


    Необходимо сгруппировать строки в таблице по значениям одного из столбцов и при этом все вариации другого столбца для каждого из значений первго столбца просто свести в строку. Иными словами получить следующую таблицу:
    ExpandedWrap disabled
      1   Иван, Василий
      2   Николай, Михаил, Егор, Тимофей
      3   Алексей, Игорь
      4   Иван, Михаил


    Как это сделать только посредством LINQ запроса (без использования циклов)?
      Если я правильно понял, то используйте GroupBy
        Цитата maxim84_ @
        Если я правильно понял, то используйте GroupBy

        Group By соберёт строки в кучки, но это по-прежнему будут кучки строк. А мне надо, чтобы значения из кучек свелись в одну строку
          ExpandedWrap disabled
                        var results = source
                            .GroupBy(item => item.ID)
                            .Select(group => group
                                .Aggregate(new Item(), (result, item) =>
                                {
                                    result.ID = item.ID;
                                    result.Name += item.Name +=", ";
                                    return result;
                                }));
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0192 ]   [ 16 queries used ]   [ Generated: 25.04.24, 04:21 GMT ]