2010-11-22 29 views
0

J'ai une collection d'objets qui contient plusieurs propriétés. J'ai besoin de mettre à jour cette liste d'objets dans la base de données, maintenant, je cherche la meilleure façon de le faire. Jusqu'à présent, je travaille avec xml, j'ai créé la structure xml à partir de la liste d'objets et l'envoyer à la base de données et dans la base de données j'ai analysé le xml et insérer/mettre à jour les tables dont j'ai besoin.Mise à jour en masse/Insérer des données dans la base de données SQL

Pouvez-vous s'il vous plaît me suggérer une meilleure façon de faire cela?

Sql 2005, MVC 2, C# 4.

Merci ..

Répondre

0

D'après ce que vous avez écrit, vous seriez probablement mieux juste boucle à travers votre collection et enregistrez chacun en utilisant ADO.Net. Cela évite la surcharge de la sérialisation de vos données vers XML, puis l'analyse à nouveau du côté de la base de données. Cela dit, à moins que ces données ne soient générées par votre logiciel, vous devriez probablement regarder quelque chose comme SSIS ou BCP pour déplacer de grandes quantités de données dans SQL Server depuis n'importe quelle source que votre programme reçoit les données.

+0

Salut, Y a-t-il un autre pourquoi mettre à jour en vrac/insérer des données à partir d'une application Web? Comme, construire le script SQL dynamique dans mon code, utiliser la mise à jour de jeu de données comme bulkcopysql? – may215

+0

Bien sûr, vous pouvez utiliser SqlBulkCopy si vous le souhaitez. Le fait que ce soit le moyen le plus efficace dépend de beaucoup de choses: combien d'enregistrements vous écrivez, la largeur de chaque enregistrement, la vitesse de la connexion entre votre serveur d'applications et le serveur de base de données. Ce que j'essayais de faire à l'origine, c'est que si un volume important de données provient d'une source unique pour peupler vos objets, vous devriez envisager d'autres options plus efficaces que de les faire passer par un ASP. programme net. –