protected int ExecuteWithExternalTransaction( string sql, IEnumerable <ObjectParameter> parameters, IContextTransaction contextTransaction) { if (contextTransaction == null) { throw new ArgumentNullException(nameof(contextTransaction)); } var sqlTransaction = contextTransaction.UnderlyingTransaction <SqlTransaction>(); if (sqlTransaction == null) { throw new InvalidOperationException("Bulk Inserter requires a SQL Transaction"); } var sqlConnection = sqlTransaction.Connection; return(this.ExecuteBulkNonQuery(sql, parameters, sqlTransaction, sqlConnection)); }