diff --git a/src/persistence/Elsa.Persistence.MongoDb/Options/ElsaMongoDbOptions.cs b/src/persistence/Elsa.Persistence.MongoDb/Options/ElsaMongoDbOptions.cs
index 1c222efbc..7bc8552c0 100644
--- a/src/persistence/Elsa.Persistence.MongoDb/Options/ElsaMongoDbOptions.cs
+++ b/src/persistence/Elsa.Persistence.MongoDb/Options/ElsaMongoDbOptions.cs
@@ -3,6 +3,6 @@ namespace Elsa.Persistence.MongoDb.Options
public class ElsaMongoDbOptions
{
public string? ConnectionString { get; set; }
- public string? Db { get; set; }
+ public string? DatabaseName { get; set; }
}
}
diff --git a/src/persistence/Elsa.Persistence.MongoDb/Services/ElsaMongoDbContext.cs b/src/persistence/Elsa.Persistence.MongoDb/Services/ElsaMongoDbContext.cs
index 50e80f99c..41e970c84 100644
--- a/src/persistence/Elsa.Persistence.MongoDb/Services/ElsaMongoDbContext.cs
+++ b/src/persistence/Elsa.Persistence.MongoDb/Services/ElsaMongoDbContext.cs
@@ -1,3 +1,4 @@
+using System;
using Elsa.Models;
using Elsa.Persistence.MongoDb.Options;
using Microsoft.Extensions.Options;
@@ -11,7 +12,11 @@ namespace Elsa.Persistence.MongoDb.Services
{
var connectionString = options.Value.ConnectionString;
var mongoClient = new MongoClient(connectionString);
- var databaseName = options.Value.Db is not null and not "" ? options.Value.Db : MongoUrl.Create(connectionString).DatabaseName;
+ var databaseName = options.Value.DatabaseName is not null and not "" ? options.Value.DatabaseName : MongoUrl.Create(connectionString).DatabaseName;
+
+ if (databaseName == null)
+ throw new Exception("Please specify a database name, either via the connection string or via the DatabaseName setting.");
+
MongoDatabase = mongoClient.GetDatabase(databaseName);
}
diff --git a/src/samples/dashboard/ElsaDashboard.Samples.Monolith/ElsaDashboard.Samples.Monolith.csproj b/src/samples/dashboard/ElsaDashboard.Samples.Monolith/ElsaDashboard.Samples.Monolith.csproj
index 8fccd039a..60312ccca 100644
--- a/src/samples/dashboard/ElsaDashboard.Samples.Monolith/ElsaDashboard.Samples.Monolith.csproj
+++ b/src/samples/dashboard/ElsaDashboard.Samples.Monolith/ElsaDashboard.Samples.Monolith.csproj
@@ -19,6 +19,7 @@
+
diff --git a/src/samples/dashboard/ElsaDashboard.Samples.Monolith/Startup.cs b/src/samples/dashboard/ElsaDashboard.Samples.Monolith/Startup.cs
index 6484c624f..024142b8e 100644
--- a/src/samples/dashboard/ElsaDashboard.Samples.Monolith/Startup.cs
+++ b/src/samples/dashboard/ElsaDashboard.Samples.Monolith/Startup.cs
@@ -3,6 +3,7 @@ using System.Net.Http.Headers;
using Elsa;
using Elsa.Persistence.EntityFramework.Core.Extensions;
using Elsa.Persistence.EntityFramework.Sqlite;
+using Elsa.Persistence.MongoDb.Extensions;
using ElsaDashboard.Backend.Extensions;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
@@ -31,7 +32,8 @@ namespace ElsaDashboard.Samples.Monolith
services
.AddElsa(options => options
//.UseYesSqlPersistence()
- .UseEntityFrameworkPersistence(ef => ef.UseSqlite())
+ .UseMongoDbPersistence(mongo => mongo.ConnectionString = "mongodb://localhost/elsa")
+ //.UseEntityFrameworkPersistence(ef => ef.UseSqlite())
.AddConsoleActivities()
.AddHttpActivities(elsaSection.GetSection("Http").Bind)
.AddEmailActivities(elsaSection.GetSection("Smtp").Bind)
diff --git a/test/integration/Elsa.Core.IntegrationTests/Autofixture/HostBuilderWithElsaSampleWorkflowAndMongoDbAttribute.cs b/test/integration/Elsa.Core.IntegrationTests/Autofixture/HostBuilderWithElsaSampleWorkflowAndMongoDbAttribute.cs
index ca0734145..a721bb2aa 100644
--- a/test/integration/Elsa.Core.IntegrationTests/Autofixture/HostBuilderWithElsaSampleWorkflowAndMongoDbAttribute.cs
+++ b/test/integration/Elsa.Core.IntegrationTests/Autofixture/HostBuilderWithElsaSampleWorkflowAndMongoDbAttribute.cs
@@ -19,7 +19,7 @@ namespace Elsa.Core.IntegrationTests.Autofixture
.AddElsa(elsa => {
elsa.UseMongoDbPersistence(opts => {
opts.ConnectionString = "mongodb://localhost:27017";
- opts.Db = "IntegrationTests";
+ opts.DatabaseName = "IntegrationTests";
});
elsa.AddActivity();
elsa.AddWorkflow();