Возврат нескольких коллекций в SubSonic - PullRequest
0 голосов
/ 30 мая 2009

У меня есть коллекция в разделах меню, каждый из которых содержит коллекцию пунктов меню (это двухуровневое меню, простые вещи). В идеале я мог бы глубоко загрузить коллекцию MenuSection, чтобы получить MenuItems в одно и то же время, но если это не удастся, есть ли способ вернуть отдельную коллекцию каждой, используя только один вызов базы данных через дозвуковой сигнал? Я застрял, используя DataSet с несколькими таблицами?

Ответы [ 2 ]

0 голосов
/ 31 мая 2009

То, что сказал Роб, верно. Другой угол будет выглядеть так:

Partial Public Class MenuSection

Private _ChildMenus As Generic.List(Of MenuSection)
Public Property ChildMenus() As Generic.List(Of MenuSection)
    Get
        If _ChildMenus Is Nothing Then
            ' Load the data in the list
            _ChildMenus = New SubSonic.Select().From(Data.MenuSelection). _
            Where("ParentMenuItemId").IsEqualTo(1). _
            ExecuteTypedList(Of Data.MenuSelection)()
        End If
        Return _ChildMenus
    End Get
    Set(ByVal value As Generic.List(Of MenuSection))
        _ChildMenus = value
    End Set
End Property

Конечный класс

0 голосов
/ 30 мая 2009

Да - есть способы сделать это - много разных подходов. Вы можете использовать View и загрузить все, а затем раскрутить это в структурированный набор объектов. Или вы можете запустить объединенный запрос в хранилище данных и загрузить объекты с некоторой циклической логикой.

...