diff --git a/src/Persistence/EfCoreTests/eager_idempotency_with_non_wolverine_mapped_db_context.cs b/src/Persistence/EfCoreTests/eager_idempotency_with_non_wolverine_mapped_db_context.cs index ed45065a8..3a9883537 100644 --- a/src/Persistence/EfCoreTests/eager_idempotency_with_non_wolverine_mapped_db_context.cs +++ b/src/Persistence/EfCoreTests/eager_idempotency_with_non_wolverine_mapped_db_context.cs @@ -145,4 +145,4 @@ public async Task sad_path_eager_idempotency() } -} \ No newline at end of file +} diff --git a/src/Persistence/Wolverine.EntityFrameworkCore/Internals/EfCoreEnvelopeTransaction.cs b/src/Persistence/Wolverine.EntityFrameworkCore/Internals/EfCoreEnvelopeTransaction.cs index 0e2768a29..d5c51d734 100644 --- a/src/Persistence/Wolverine.EntityFrameworkCore/Internals/EfCoreEnvelopeTransaction.cs +++ b/src/Persistence/Wolverine.EntityFrameworkCore/Internals/EfCoreEnvelopeTransaction.cs @@ -42,17 +42,16 @@ public EfCoreEnvelopeTransaction(DbContext dbContext, MessageContext messaging) public async Task PersistOutgoingAsync(Envelope envelope) { - if (DbContext.Database.CurrentTransaction == null) - { - await DbContext.Database.BeginTransactionAsync(); - } - if (DbContext.IsWolverineEnabled()) { DbContext.Add(new OutgoingMessage(envelope)); } else { + if (DbContext.Database.CurrentTransaction == null) + { + await DbContext.Database.BeginTransactionAsync(); + } var conn = DbContext.Database.GetDbConnection(); var tx = DbContext.Database.CurrentTransaction!.GetDbTransaction(); var cmd = DatabasePersistence.BuildOutgoingStorageCommand(envelope, envelope.OwnerId, _database); @@ -61,8 +60,6 @@ public async Task PersistOutgoingAsync(Envelope envelope) await cmd.ExecuteNonQueryAsync(); } - - } public async Task PersistOutgoingAsync(Envelope[] envelopes) @@ -72,17 +69,16 @@ public async Task PersistOutgoingAsync(Envelope[] envelopes) return; } - if (DbContext.Database.CurrentTransaction == null) - { - await DbContext.Database.BeginTransactionAsync(); - } - if (DbContext.IsWolverineEnabled()) { DbContext.AddRange(envelopes.Select(e => new OutgoingMessage(e))); } else { + if (DbContext.Database.CurrentTransaction == null) + { + await DbContext.Database.BeginTransactionAsync(); + } var conn = DbContext.Database.GetDbConnection(); var tx = DbContext.Database.CurrentTransaction!.GetDbTransaction(); var cmd = DatabasePersistence.BuildOutgoingStorageCommand(envelopes, envelopes[0].OwnerId, _database); @@ -176,7 +172,7 @@ public async ValueTask CommitAsync(CancellationToken cancellation) if (_messaging.Envelope != null && _messaging.Envelope.Destination != null) { var conn = DbContext.Database.GetDbConnection(); - var tx = DbContext.Database.CurrentTransaction!.GetDbTransaction(); + var tx = DbContext.Database.CurrentTransaction?.GetDbTransaction(); // Are we marking an existing envelope as persisted? if (_messaging.Envelope.WasPersistedInInbox)