J'ai une collection dans les sections de menu qui contiennent chacune une collection d'éléments de menu (c'est un menu à deux niveaux, des choses simples). Idéalement, je pourrais télécharger la collection de MenuSection pour saisir les MenuItems en même temps, mais à défaut, est-il possible de renvoyer une Collection séparée de chacun en utilisant un seul appel de base de données via subsonic? Suis-je coincé en utilisant un DataSet avec plusieurs tables?Retour de plusieurs collections dans SubSonic
0
A
Répondre
0
Oui - il existe des moyens de le faire - de nombreuses approches différentes. Vous pouvez utiliser une vue et charger tout, puis l'extraire vers un ensemble d'objets structurés. Ou vous pouvez exécuter une requête jointe dans un lecteur de données et charger les objets avec une logique de bouclage.
0
Ce que Rob a dit est correct. Un autre angle serait comme si:
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
End Class
Questions connexes
- 1. Subsonic Supprime plusieurs enregistrements
- 2. SubSonic Retour ExecuteSingle pour une procédure stockée
- 3. SubSonic 2.1 utilisant plusieurs bases de données
- 4. Mise en veille prolongée: Collections de collections
- 5. Obtenir une moyenne sur plusieurs collections dans LINQ
- 6. Nhibernate - Impossible d'extraire plusieurs collections dans une seule requête
- 7. SubSonic InlineQuery retour des résultats erronés avec ExecuteAsCollection
- 8. SubSonic 3 SimpleRepository Un-à-plusieurs
- 9. Comment utiliser les relations «un à plusieurs» dans SubSonic
- 10. Collections dans Adobe Flex
- 11. Expose plusieurs collections en tant que collection unique
- 12. types Ruby de collections ActiveRecord
- 13. fonction PostgreSQL retour résultat plusieurs jeux
- 14. Collections de collections et gestion de la mémoire Objective-C
- 15. Fusion de deux collections Observable
- 16. valeurs question SQL, DISTINCTS retour dans plusieurs UNION ALL'ed déclarations
- 17. Collections de classes sérialisables
- 18. retour plusieurs jeux de résultats de ms accès à ADO.NET
- 19. Smalltalk collections
- 20. SubSonic 3 - Référentiel simple - Une à plusieurs relations
- 21. Comparaison de deux collections d'objets
- 22. Requête de recherche avec Subsonic
- 23. Conventions SubSonic
- 24. Définition de collections avec variables
- 25. Mappage de collections avec LINQ
- 26. Codes de retour msi dans Inno Setup
- 27. Colonne avec le même nom dans plusieurs tables causant problème dans SubSonic Select
- 28. Comment sérialiser des collections dans .net
- 29. Interrogation des collections enfant dans LINQ
- 30. Null vs collections vides dans Hibernate
Rob, merci pour la réponse. Je ne comprends pas très bien ce que vous entendez par "spin out" - voulez-vous dire que je devrais charger une collection de lignes contenant les données des deux sections de menu et des éléments? Avec le lecteur et la mise en boucle, cela ne signifierait-il pas l'obtention d'une collection de sections, puis un appel distinct pour chaque groupe d'articles? –
Par "spin out", je veux dire boucle sur le lecteur et attribuer les valeurs à une collection. Si vous utilisez une vue, vous pouvez obtenir une représentation plate des données. Si vous utilisez une requête jointe - même chose - une représentation plate des données avec lesquelles vous remplissez les deux collections. –