Browse Source

Resolve #1534 Modify the way mongodb connection string parsing.

pull/1564/head
maliming 7 years ago
parent
commit
fbb4ec6a15
  1. 16
      framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs

16
framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection; using System;
using Microsoft.Extensions.DependencyInjection;
using MongoDB.Driver; using MongoDB.Driver;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.MongoDB; using Volo.Abp.MongoDB;
@ -30,14 +31,9 @@ namespace Volo.Abp.Uow.MongoDB
var connectionString = _connectionStringResolver.Resolve<TMongoDbContext>(); var connectionString = _connectionStringResolver.Resolve<TMongoDbContext>();
var dbContextKey = $"{typeof(TMongoDbContext).FullName}_{connectionString}"; var dbContextKey = $"{typeof(TMongoDbContext).FullName}_{connectionString}";
string databaseName; var mongoUrl = new MongoUrl(connectionString);
if (connectionString.Contains("|")) var databaseName = mongoUrl.DatabaseName;
{ if (databaseName.IsNullOrWhiteSpace())
var splitted = connectionString.Split('|');
connectionString = splitted[0];
databaseName = splitted[1];
}
else
{ {
databaseName = ConnectionStringNameAttribute.GetConnStringName<TMongoDbContext>(); databaseName = ConnectionStringNameAttribute.GetConnStringName<TMongoDbContext>();
} }
@ -47,7 +43,7 @@ namespace Volo.Abp.Uow.MongoDB
dbContextKey, dbContextKey,
() => () =>
{ {
var database = new MongoClient(connectionString).GetDatabase(databaseName); var database = new MongoClient(mongoUrl).GetDatabase(databaseName);
var dbContext = unitOfWork.ServiceProvider.GetRequiredService<TMongoDbContext>(); var dbContext = unitOfWork.ServiceProvider.GetRequiredService<TMongoDbContext>();

Loading…
Cancel
Save