Remplir DataSet avec une clé primaire (et sélection des différents enfants)

Signaler
-
Messages postés
15154
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 novembre 2020
-
Bonjour à tous, j'aimerais en gros remplir un DataSet en utilisant qu'une seule valeur d'une table (la clé primaire). J'ai fais des recherches, mais j'ai rien trouvé.

Je vais prendre l'exemple de Northwind 2007.accdb.

Voici une partie du DataSet généré par Visual Studio.


Sur l'image, vous voyez que la table Orders possède comme clé primaire [Order ID].

Cette table est relié à un Employees via [Orders].[Employee ID] (je pourrais donc obtenir les informations de l'employe).
Elle est aussi reliée à plusieurs Order Details via le champ [Order ID].
Ces Order Details sont aussi lié à un Products via [Product ID].

Ce que j'aimerais faire, c'est remplir un DataSet (en mémoire) pour l'afficher par la suite, mais seulement en y passant un [Order ID] qui lui pourrait aller chercher automatiquement :
-Employees
-Tous les Order Details
-Tous les Products reliés aux Order Details précédemment trouvés
-Ainsi de suite pour les autres champs reliés que je vais avoir éventuellement besoin (taxe, facture, paiement, etc)

Merci d'avance et bonne journée.

3 réponses

Messages postés
15154
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 novembre 2020
463
Bonjour,

je ne suis pas un pro de la base de données (loin de là!), mais je pense qu'avec LinQ tu devrais arriver à tes fins. Tu n'auras pas forcément un dataset en sortie, mais tes données jointes dans un seul package (List<T>, Ienumerable...).

Il y a quelques tutos sur le site et aussi chez LeZero.


Whismeril
En fait, j'aimerais y arriver sans avoir à faire plusieurs requêtes. Idéalement, j'aimerais savoir s'il y a un moyen que tout soit fait automatiquement en fonction des tables dans mon DataSet peu importe le nombre d'enfants / sous-enfants (ici Order Details et Products) que peut contenir mon parent (Ici, Orders).
Messages postés
15154
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
28 novembre 2020
463
En t'y prenant bien avec LinQ ça devrait le faire.


Whismeril