Je dois transmettre une collection .NET à une procédure stockée. Ma collection contient 1000 enregistrements. Chaque enregistrement contient 2 ou 3 objets enfants d'autres types. Tout ce dont j'ai besoin pour les insérer à la fois en appelant la procédure stockée de. NET.Comment faire pour passer la hiérarchie .NET collection d'objets (parent-enfant) à une procédure stockée SQL Server
J'ai déjà essayé un paramètre TVP (table-valued), mais cela ne répond tout simplement pas à mes besoins.
Pour chaque enregistrement de niveau racine, j'ai besoin d'appeler la procédure stockée en passant l'enregistrement racine et ses enregistrements enfants correspondants. Cela rend l'ensemble du processus très lent.
C'est pourquoi je suis à la recherche d'une façon de pouvoir transmettre une liste hiérarchique complète à la fois, et dans une procédure stockée, en bouclant et en itérant des enregistrements enfants, je peux insérer des enregistrements enfants parents.
Comment puis-je y parvenir?
Essayez de utilisez XML et décompactez-le sur la table temporaire dans la procédure stockée. Cela fonctionne assez vite pour moi. –
Les paramètres de valeur de table sont un bon moyen de le faire. Il suffit de passer 2 tables, une pour le parent autre pour l'enfant, à la fois et une clé pour les associer. – Alejandro
@Alejandro: Actuellement, je passe presque de la même manière. Mais plutôt de passer parent entier comme une table et des enfants entiers comme les autres, je passe un enregistrement parent avec sa liste correspondante d'enfants. Mais c'est vraiment lent, parce que j'ai besoin d'insérer un enregistrement parent 100K. De plus, pour chaque parent célibataire, il y a 3 ou 4 enfants associés. – Usman