diff --git a/src/Chronicle.Integrations.MongoDB/src/Extensions.cs b/src/Chronicle.Integrations.MongoDB/src/Extensions.cs index bcafd4c..c4ea7e6 100644 --- a/src/Chronicle.Integrations.MongoDB/src/Extensions.cs +++ b/src/Chronicle.Integrations.MongoDB/src/Extensions.cs @@ -1,8 +1,8 @@ using System; using Chronicle.Integrations.MongoDB.Persistence; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using MongoDB.Driver; -using Microsoft.Extensions.Configuration; using Newtonsoft.Json; namespace Chronicle.Integrations.MongoDB @@ -41,6 +41,14 @@ IMongoDatabase GetDatabase(IServiceProvider serviceProvider) => new MongoClient(settings.ConnectionString).GetDatabase(settings.Database); } + public static IChronicleBuilder UseMongoPersistence(this IChronicleBuilder builder, MongoClientSettings mongoSettings, string databaseName) + { + return builder.UseMongoPersistence(GetDatabase); + + IMongoDatabase GetDatabase(IServiceProvider serviceProvider) + => new MongoClient(mongoSettings).GetDatabase(databaseName); + } + private static IChronicleBuilder UseMongoPersistence(this IChronicleBuilder builder, Func getDatabase) { builder.Services.AddTransient(getDatabase);