title: NserviceBus not loading existing saga data
body: <p>I have implemented a my connector using nservice bus saga. Below is the code</p>
  
  <pre><code>    public class ClientSaga : Saga&lt;ClientSagaState&gt;, 
              IAmStartedByMessages&lt;ClientChangeMessage&gt;, 
              IAmStartedByMessages&lt;ClientContactChangeMessage&gt;,
              IAmStartedByMessages&lt;ClientPictureChangeMessage&gt;, 
              IHandleTimeout&lt;ClientSagaState&gt;
          {
              [SetterProperty]
              public IClientContactChangeDb ClientContactChangeDb{get;set;}
  
              [SetterProperty]
              public IBusRefTranslator BusRefTranslator{get;set;}
  
  
  
              public void Handle(ClientContactChangeMessage message)
              {
                  var state=this.Data;
                  //Some handling logic
                  //Check if client is not in database then store the state
                  state.ClientContactChange=message;
                  state.ClientRef =message.ClientRef;
                  //if client is in the data base then 
                  MarkAsComplete();
              }
  
              public void Handle(ClientChangeMessage message)
              {
                   var state=this.data;
                  //Update or create the client depending on the situation
                  //check for dependencies
                  if(state.ClientContactChange !=null)
                  {
                       //Handle the contact change
                  } 
                  else
                   {
                     state.ClientChangeMessage=message;
                      state.ClientRef=message.ClientRef;
                     }
              }
                public void Handle(ClientPictureChangeMessage message)
              {
                       var state=this.Data;
                   //If the client is there then update the picture else store in saga
                     state.ClientPictureChangeMessage =message;
                      state.ClientRef=message.ClientRef;
                     }
              }
  
              public override void ConfigureHowToFindSaga()
              {
                  ConfigureMapping&lt;ClientContactChangeMessage&gt;(s =&gt; s.ClientRef, m =&gt; m.ClientRef);
                  ConfigureMapping&lt;ClientPictureChangeMessage&gt;(s =&gt; s.ClientRef, m =&gt; m.ClientRef);
                  ConfigureMapping&lt;ClientChangeMessage&gt;(s =&gt; s.ClienttnRef, m =&gt; m.Id);
              }
          }
  
  
          public class ClientSagaState: IContainSagaData
          {
              //i dont need these three fields
              public Guid Id { get; set; }
              public string Originator { get; set; }
              public string OriginalMessageId { get; set; }
  
             // the fields which i needed
             public Guid ClientRef {gee; set;}
             public ClientChangeMessage ClientChange {get;set;}
             public ClientContactChange ClientContactChange {get;set;}
             public ClientPictureChangeMessage  ClientPictureChangeMessage {get;set;}
          }
  </code></pre>
  
  <p>Now in my connector a client cannot be created w/o client contact change message being present. </p>
  
  <p>Case when saga fails:</p>
  
  <ol>
  <li>When i send the the client picture message first it creates a new
  saga and stores it.</li>
  <li>Then i send a client change message it creates another saga and
  stores it i.e  does not find the saga created by the client picture
  message</li>
  <li>Then i send the client contact change message it somehow finds the
  saga created by client picture change but now cannot find the staff.</li>
  </ol>
  
  <p>I can't make out why this is happening.</p>
  
  <p>Case when saga succeeds:</p>
  
  <ol>
  <li>When i send the client change message first it creates the saga.</li>
  <li>Then i send the client contact change message it finds the saga
  and executes fine.</li>
  </ol>
  
  <p>Can anyone please explain why this behaviour is happening.</p>
  
  <p>Please let me know if more information is needed.</p>
  
  <p>Thanks</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>On checking my code again, i found the cause of this . My ClientChangeMessage was also inheriting from IContainSaga data(something which i was trying out but had forgotten to remove). After removing the inheritance link everything was working fine. (Head hanging in  shame) </p>