I have an NServiceBus 7.3 endpoint built using .NET Core 3.1 and uses NServiceBus.Persistence.Sql 6.0.1 and NServiceBus.SqlServer 6.1.1. The business data and persistence data are on the same database. The transport tables are on a different database server. Business data is handled using EF Core. The transport uses SendsAtomicWithReceive transaction mode.
I understand that Outbox needs to be used ensure consistency between messaging operations, saga persistence, and business data persistence in this scenario. Is that right?
Apart from using Outbox, do I also need to use the same data context used by NServiceBus internals (context.SynchronizedStorageSession.SqlPersistenceSession) to store business data? Or, is that not relevant since the transport tables are on a different database server?