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();