Browse Source

Move inside the `CreateDbContextWithTransaction` method.

pull/10658/head
maliming 5 years ago
parent
commit
1f75872939
No known key found for this signature in database GPG Key ID: 96224957E51C89E
  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

@ -130,7 +130,7 @@ namespace Volo.Abp.Uow.MongoDB
var client = CreateMongoClient(mongoUrl); var client = CreateMongoClient(mongoUrl);
var database = client.GetDatabase(databaseName); var database = client.GetDatabase(databaseName);
if (unitOfWork.Options.IsTransactional && IsSupportedTransactions(client)) if (unitOfWork.Options.IsTransactional)
{ {
return CreateDbContextWithTransaction(unitOfWork, mongoUrl, client, database); return CreateDbContextWithTransaction(unitOfWork, mongoUrl, client, database);
} }
@ -150,7 +150,7 @@ namespace Volo.Abp.Uow.MongoDB
var client = CreateMongoClient(mongoUrl); var client = CreateMongoClient(mongoUrl);
var database = client.GetDatabase(databaseName); var database = client.GetDatabase(databaseName);
if (unitOfWork.Options.IsTransactional && IsSupportedTransactions(client)) if (unitOfWork.Options.IsTransactional)
{ {
return await CreateDbContextWithTransactionAsync( return await CreateDbContextWithTransactionAsync(
unitOfWork, unitOfWork,
@ -187,6 +187,12 @@ namespace Volo.Abp.Uow.MongoDB
session.AdvanceOperationTime(new BsonTimestamp(unitOfWork.Options.Timeout.Value)); session.AdvanceOperationTime(new BsonTimestamp(unitOfWork.Options.Timeout.Value));
} }
if (!IsSupportedTransactions(client))
{
dbContext.ToAbpMongoDbContext().InitializeDatabase(database, client, null);
return dbContext;
}
session.StartTransaction(); session.StartTransaction();
unitOfWork.AddTransactionApi( unitOfWork.AddTransactionApi(
@ -227,6 +233,12 @@ namespace Volo.Abp.Uow.MongoDB
session.AdvanceOperationTime(new BsonTimestamp(unitOfWork.Options.Timeout.Value)); session.AdvanceOperationTime(new BsonTimestamp(unitOfWork.Options.Timeout.Value));
} }
if (!IsSupportedTransactions(client))
{
dbContext.ToAbpMongoDbContext().InitializeDatabase(database, client, null);
return dbContext;
}
session.StartTransaction(); session.StartTransaction();
unitOfWork.AddTransactionApi( unitOfWork.AddTransactionApi(

Loading…
Cancel
Save