title: How to bulk insert generic source array into arbitrary SQL table
body: <p>My application uses Entity Framework. Most days I feel fine about that, but I have trouble when I need to do bulk insertions. I've yet to find a way for EF to do these quickly. As such, I need a solution that goes outside of EF to do the updates.</p>
  
  <p>I want a method that takes a connection string, destination table name, and a generic array of source data, and performs the bulk insertions. Moreover, I'd like it to map the properties of the source data to the specific table fields, ideally without requiring attributes in the source object to designate the table field.</p>
  
  <p>Thus, for this object:</p>
  
  <pre><code>public class Customer
  {
      //property populated &amp; used only in memory
      public string TempProperty { get; set; }
  
      //properties saved in the database
      public string Name { get; set; }
      public string Address { get; set; }
      public int Age { get; set; }
      public string Comments { get; set; }
  
      //various methods, constructors, etc.
  }
  </code></pre>
  
  <p>I should be able to provide the table name <code>Data.Customer</code>, and the method should map <code>Customer.Name -&gt; Data.Customers.Name</code>, <code>Customer.Address -&gt; Data.Customers.Address</code>, etc.</p>