diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java
index 7c4ddb5..71d1961 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java
@@ -59,7 +59,7 @@
 import org.onosproject.store.service.StorageAdminService;
 import org.onosproject.store.service.StorageService;
 import org.onosproject.store.service.Transaction;
-import org.onosproject.store.service.TransactionContext;
+import org.onosproject.store.service.TransactionContextBuilder;
 import org.slf4j.Logger;
 
 import java.io.File;
@@ -217,8 +217,9 @@
     }
 
     @Override
-    public TransactionContext createTransactionContext() {
-        return new DefaultTransactionContext(partitionedDatabase, transactionIdGenerator.getNewId());
+    public TransactionContextBuilder transactionContextBuilder() {
+        return new DefaultTransactionContextBuilder(
+                inMemoryDatabase, partitionedDatabase, transactionIdGenerator.getNewId());
     }
 
     @Override
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionContextBuilder.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionContextBuilder.java
new file mode 100644
index 0000000..a3484cf
--- /dev/null
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionContextBuilder.java
@@ -0,0 +1,37 @@
+package org.onosproject.store.consistent.impl;
+
+import org.onosproject.store.service.TransactionContext;
+import org.onosproject.store.service.TransactionContextBuilder;
+
+/**
+ * The default implementation of a transaction context builder. This builder
+ * generates a {@link DefaultTransactionContext}.
+ */
+public class DefaultTransactionContextBuilder implements TransactionContextBuilder {
+
+    private boolean partitionsEnabled = true;
+    private final Database partitionedDatabase;
+    private final Database inMemoryDatabase;
+    private final long transactionId;
+
+    public DefaultTransactionContextBuilder(
+            Database inMemoryDatabase, Database partitionedDatabase, long transactionId) {
+        this.partitionedDatabase = partitionedDatabase;
+        this.inMemoryDatabase = inMemoryDatabase;
+        this.transactionId = transactionId;
+    }
+
+    @Override
+    public TransactionContextBuilder withPartitionsDisabled() {
+        partitionsEnabled = false;
+        return this;
+    }
+
+    @Override
+    public TransactionContext build() {
+        return new DefaultTransactionContext(
+                partitionsEnabled ? partitionedDatabase : inMemoryDatabase,
+                transactionId);
+    }
+
+}
