Subsonic 3 Создание иерархической коллекции? - PullRequest
0 голосов
/ 25 августа 2009

У меня есть одна таблица с иерархией внутри. Я использую ActiveRecord. Как я могу преобразовать это в иерархическую коллекцию, которую затем можно привязать к древовидной структуре WinForms или WPF?

Спасибо.

ID  Name    ParentID
1   ALL 1
2   ARGENTINA   1
15  AUSTRALIA   1
16  NW  15
17  BLACKTOWN   16
18  CORLETTE    16
19  PRIMBEE 16
20  TWEED HEADS 16
21  QL  15
22  ASHMORE 21
23  ROBERTSON   21
24  TOOWOOMBA   21
25  TRINITY BEACH   21
26  UNITED STATES   1
27  AK  26
28  CA  26
29  NJ  26
30  NIKISKI 27
31  AMADOR CITY 28
32  MOSS BEACH  28
33  Essex   29
34  Newark  33
35  Ampere  33
36  Avondale    33
37  Beaufort    33

1 Ответ

3 голосов
/ 26 августа 2009

Создайте частичный класс и добавьте свойство Children (или то, что имеет смысл).

public IList<MyClass> Children.

Затем, где-нибудь в методе (в вашем репо, BLL, как угодно), выполните цикл и загрузите:

var items=MyClass.All().ToList();

items.ForEach(x=>x.Children=items.Where(y=>y.ParentID==x.ID).ToList());
...