Maison >base de données >tutoriel mysql >Comment puis-je insérer efficacement des ensembles de données volumineux dans SQL Server à l'aide de SqlBulkCopy et de listes d'objets ?

Comment puis-je insérer efficacement des ensembles de données volumineux dans SQL Server à l'aide de SqlBulkCopy et de listes d'objets ?

DDD
DDDoriginal
2024-12-30 04:22:23348parcourir

How Can I Efficiently Insert Large Datasets into SQL Server Using SqlBulkCopy and Lists of Objects?

Insertion de grands ensembles de données avec SqlBulkCopy et des listes

Question : Comment insérer efficacement de grands ensembles de données dans une table de base de données à l'aide de SqlBulkCopy lorsque la source de données est une liste de simples objets ?

Réponse :

Envisagez de tirer parti de FastMember pour simplifier le processus sans compter sur des structures de données intermédiaires comme DataTable. Cela peut améliorer considérablement les performances. Voici un exemple :

using(var bcp = new SqlBulkCopy(connection))
using(var reader = ObjectReader.Create(data, "Id", "Name", "Description"))
{
    bcp.DestinationTableName = "SomeTable";
    bcp.WriteToServer(reader);
}

ObjectReader de FastMember peut gérer des sources de données non génériques et prend en charge la spécification dynamique des noms de membres sans les définir explicitement à l'avance. Cependant, l'utilisation des ColumnMappings de SqlBulkCopy peut être bénéfique si vous ne spécifiez pas de noms de membres dans ObjectReader.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn