diff --git a/include/caosdb/connection.h b/include/caosdb/connection.h
index d3ed0945e0022f29e6097fb4ea2d9207c3258987..82bd3633aa5eb6c0a119ad642059781d9d2fcb06 100644
--- a/include/caosdb/connection.h
+++ b/include/caosdb/connection.h
@@ -163,5 +163,19 @@ public:
   void operator=(ConnectionManager const &) = delete;
 };
 
+template <class InputIterator>
+auto InsertEntity(InputIterator begin, InputIterator end) noexcept -> int {
+  const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
+  auto next = begin;
+  auto insert_transaction(connection->CreateTransaction());
+  while (next != end) {
+    auto insert_transaction = connection->CreateTransaction();
+    insert_transaction->InsertEntity(&next);
+    auto insert_status = insert_transaction->Execute();
+    next = std::next(next);
+  }
+
+  return 0;
+}
 } // namespace caosdb::connection
 #endif