


Comment puis-je insérer efficacement des données en masse à partir d'une liste dans SQL Server à l'aide de SqlBulkCopy ?
Dec 30, 2024 pm 01:44 PMInsertion de données à partir d'une liste à l'aide de SqlBulkCopy
Lorsque nous sommes confrontés à la tâche d'effectuer une insertion groupée à l'aide de SqlBulkCopy à partir d'une liste générique, il est naturel envisager d’implémenter un IDataReader personnalisé. Cependant, il existe une solution plus efficace et plus pratique utilisant la bibliothèque FastMember.
Solution avec FastMember
FastMember fournit une classe puissante appelée ObjectReader qui simplifie le processus de conversion d'une liste. d'objets dans un lecteur de données. Voici comment vous pouvez l'utiliser :
using(var bcp = new SqlBulkCopy(connection)) using(var reader = ObjectReader.Create(data, "Id", "Name", "Description")) { bcp.DestinationTableName = "SomeTable"; bcp.WriteToServer(reader); }
Dans cet exemple, les données sont une liste d'objets contenant les propriétés « Id », « Nom » et « Description ».
ObjectReader peut fonctionnent également avec des sources de données non génériques et il n'est pas nécessaire de spécifier les noms des membres à l'avance. Cependant, si vous ne les spécifiez pas dans ObjectReader, vous souhaiterez peut-être utiliser l'aspect ColumnMappings de SqlBulkCopy pour définir le mappage entre les propriétés de l'objet et les colonnes de destination.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
