title: Is it possible to to correlate a message in MassTransit Saga that is not based on a ID?
body: <p>Is it possible to match an incoming message with a saga that doesn't have a 1 to 1 correlation of Id or property? I'm looking at doing something like the following but <code>CorrelateBy</code>  does not seem to hydrate the saga or trigger off any processing.</p>
  
  <pre class="lang-cs prettyprint-override"><code>    public interface SubmitOrder
      {
          Guid OrderId { get; }
  
          string[] ItemIds { get; }
      }
  
      public interface ItemStockExhausted
      {
          string Id { get; }
      }
  
      public class OrderState :
          SagaStateMachineInstance
      {
          public Guid CorrelationId { get; set; }
  
          public string[] ItemIds { get; set; }
  
          public int CurrentState { get; set; }
      }
  
      public class OrderStateMachine :
          MassTransitStateMachine&lt;OrderState&gt;
      {
          public OrderStateMachine()
          {
              InstanceState(x =&gt; x.CurrentState);
              Event(() =&gt; SubmitOrder, x
                  =&gt; x.CorrelateById(context =&gt; context.Message.OrderId)
              );
  
              Event(() =&gt; ItemStockExhausted, x
                  =&gt; x.CorrelateBy((state, context) =&gt; state.ItemIds.Contains(context.Message.Id))
              );
  
              Initially(
                  When(SubmitOrder)
                      .Then(x =&gt; x.Instance.ItemIds = x.Data.ItemIds)
                      .TransitionTo(Submitted));
  
              During(Submitted,
                  When(ItemStockExhausted)
                      .Then(x =&gt; { /* Do something */ })
                      );
          }
  
          public Event&lt;SubmitOrder&gt; SubmitOrder { get; private set; }
  
          public Event&lt;ItemStockExhausted&gt; ItemStockExhausted { get; private set; }
  
          public State Submitted { get; private set; }
      }
  
  </code></pre>
  
  <p>Not sure if it makes any difference but I'm using the MongoDB persistence.</p>