Bulk Insert de Liste Générique de C# dans SQL Server

Comment puis-je en vrac insérer une liste générique en c#, SQL Server, plutôt qu'en parcourant la liste et l'insertion de la personne les éléments un par un?

J'ai actuellement;

private void AddSnapshotData()
{
  var password =       Cryptography.DecryptString("vhx7Hv7hYD2bF9N4XhN5pkQm8MRfxi+kogALYqwqSuo=");
  var figDb = "ZEUS";
  var connString =
    String.Format(
      "Data Source=1xx.x.xx.xxx;Initial Catalog={0};;User ID=appuser;Password={1};MultipleActiveResultSets=True",
      figDb, password);
  var myConnection = new SqlConnection(connString);
  myConnection.Open();

  foreach (var holding in _dHoldList)
  {
    lbStatus.Text = "Adding information to SQL for client: " + holding.ClientNo;
    _reports.AddZeusData("tblAllBrooksHoldingsSnapshot", "CliNo, SEDOL, ISIN, QtyHeld, DateOfSnapshot",
                         "'" + holding.ClientNo + "','" + holding.Sedol + "','" + holding.ISIN + "','" +
                         holding.QuantityHeld + "','" + DateTime.Today.ToString("yyyyMMdd") + "'", false, myConnection);
  }
  myConnection.Close();
  lbStatus.Visible = false;
}

dHoldList est une liste de DHOLDS;

public class DHOLDS : ExcelReport
 {
public String ClientNo { get; set; }
public String Sedol { get; set; }
public Double QuantityHeld { get; set; }
public Double ValueOfStock { get; set; }
public String Depot { get; set; }
public String ValC4 { get; set; }
public String StockR1 { get; set; }
public String StockR2 { get; set; }
public Double BookCost { get; set; }
public String ISIN { get; set; }
}
Plus d'infos sur la façon dont vous prévoyez de stocker, il serait utile, vous pouvez utiliser vos propres méthodes? ou avez-vous d'utiliser certaines réponses dans "_reports"?
Je peux utiliser mes propres méthodes, et la base de données appartient à moi afin que je puisse ajouter ou de faire toutes les modifications que je souhaite.

OriginalL'auteur David Johnson | 2012-12-13