Hi,
For inserting large data into sql server better to use sql bulk copy like as follows
DataTable mydatatable= mydata;
DataRow[] rowArrayMydata = mydatatable.Select();
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(con, SqlBulkCopyOptions.KeepIdentity, transaction))
{
bulkCopy.DestinationTableName = "MyDestinationTable";
bulkCopy.WriteToServer(rowArrayMydata );
}