In some brown field scenarios the connections are managed by the existing infrastructure and changing that is not feasible. In order to use Transactional Session in these cases it is necessary to be able to pass the connection/transaction information from the outside when opening the session e.g.
using var childBuilder = builder.CreateChildBuilder();
var session = childBuilder.Build<ITransactionalSession>();
await session.Open(
new SqlPersistenceOpenSessionOptions(("MyTenantIdHeader","TenantA"), sqlTransaction))
.ConfigureAwait(false);