title: Bulk insert operations process records without errors
body: <p>From what I understand, the best way to bulk insert data using C# and SQL Server is to use a table type and pass in a data table. 
  Our current process flow is to process / insert data one record at a time (even if there are thousands of records) so that we are able to successfully process valid records and report back on errors. Obviously this is a huge performance issue.</p>
  
  <p>Is there any way to do bulk insert operations that will allow valid records to be inserted and invalid records to fail?
  If so, how do you find out which records passed and which ones failed or caused an error?</p>