title: MassTransit transactional publishing
body: <p>I can't figure out how I can publish a message transactional using MassTransit 3.1.2 and RabbitMQ 3.6.0. I have a basic scenario where I save something to the database and then I want to publish an event. Wrapping a System.Transactions.TransactionScope around it does not work, before I complete the scope the message is already sent:</p>
  
  <pre><code>using (var scope = new TransactionScope(TransactionScopeOption.Required))
  {
       // Save to database here.
  
       bus.Publish(new EntityCreatedEvent());
  
       // Event is already published at this point.
  
       scope.Complete();
  }
  </code></pre>
  
  <p>The bus is created as follows:</p>
  
  <pre><code>var rabbitMqHostAddress = new Uri($"rabbitmq://{ConfigurationManager.AppSettings["RabbitMqHost"]}/");
  
  var bus = Bus.Factory.CreateUsingRabbitMq(r =&gt;
  {
      r.Host(rabbitMqHostAddress, h =&gt;
      {
          h.Username(ConfigurationManager.AppSettings["RabbitMqUsername"]);
          h.Password(ConfigurationManager.AppSettings["RabbitMqPassword"]);
      });
  });
  </code></pre>