Преобразование SQL-запроса один ко многим в Список вложенных классов - PullRequest
0 голосов
/ 22 января 2009

Каков наилучший способ получить запрос и преобразовать его во вложенный список классов, не делая подвыбор для каждой строки?

например.

1   aaaa
1   bbbb
1   cccc
2   dddd
3   eeee

в

1   
    aaaa
    bbbb
    cccc
2   
    dddd
3   
    eeee

Ответы [ 2 ]

1 голос
/ 22 января 2009

Просто выполните объединение между родительской и дочерней таблицами и выполните итерации по строкам, создавая новый внешний класс при изменении интересующих полей.

Затраты на передачу данных незначительны. Что важнее, так это понятный простой код, который легко читают другие люди.

Если вся ваша группа сверстников имеет большой опыт в LINQ, то реакция Дэвида довольно элегантна. Я впечатлен. Однако я не могу сказать вам, если это правильно.

1 голос
/ 22 января 2009
var result = myList
  .GroupBy(x => x.Id)
  .Select(g => new Parent()
  {
    Key = g.Key,
    Children = g.Select(x => x.SomeString).ToList()
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...