public void Flush(IEnumerable<ISqlStatement> statements) { var writer = new SqlStatementBatchWriter(); using (var connection = new SqlConnection(_builder.ConnectionString)) { connection.Open(); using (var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted)) { using (var command = new SqlCommand()) { command.Connection = connection; command.Transaction = transaction; using (var enumerator = statements.GetEnumerator()) { var moved = enumerator.MoveNext(); while (moved) { while (moved && writer.TryWrite(enumerator.Current)) { moved = enumerator.MoveNext(); } writer.BuildCommand(command); command.ExecuteNonQuery(); writer.Reset(); } } } transaction.Commit(); } connection.Close(); } }
public void Flush(IEnumerable <ISqlStatement> statements) { var writer = new SqlStatementBatchWriter(); using (var connection = new SqlConnection(_builder.ConnectionString)) { connection.Open(); using (var transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted)) { using (var command = new SqlCommand()) { command.Connection = connection; command.Transaction = transaction; using (var enumerator = statements.GetEnumerator()) { var moved = enumerator.MoveNext(); while (moved) { while (moved && writer.TryWrite(enumerator.Current)) { moved = enumerator.MoveNext(); } writer.BuildCommand(command); command.ExecuteNonQuery(); writer.Reset(); } } } transaction.Commit(); } connection.Close(); } }