title: breeze entities get cached unwantedly
body: <p>I have this issue with a breeze entity and its navigation properties, which get populated through a WebAPI call.</p>
  
  <pre><code> return EntityQuery.from('UserInfo')
              .withParameters({ clientId: clientId, userId: userId })
              .using(self.manager)
              .execute()
              .then(querySucceeded, this._queryFailed);
  
          function querySucceeded(data) {
              return data.results[0];
          }
  </code></pre>
  
  <p>Here's the sequence of events that take place.</p>
  
  <ol>
  <li>Call the 'UserInfo' API call and display user info on the page.</li>
  <li>Do a modification to data.user.userWorkLocations1 (I add a UserWorkLocation object to the collection, so now it has 3 userworklocations) and save.</li>
  <li>Go to a different page and do some CRUD operation which removes one UserWorkLocation from this user's WorkLocation list. </li>
  <li>I ensure that in the database and verify there are only two userworklocations for this user.</li>
  <li>Call the 'UserInfo' API call again and display user info on the page.</li>
  </ol>
  
  <p>The problem is - in the second UserInfo API call, on the breeze query side, I can see 3 userWorkLocation objects (see the screenshot).
  <a href="https://i.stack.imgur.com/HukOa.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/HukOa.png" alt="enter image description here"></a></p>
  
  <p>But I inspected the response on the developer tools, and only two userWorkLocation objects are there in the response (see the screenshot).
  <a href="https://i.stack.imgur.com/U16Km.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/U16Km.png" alt="enter image description here"></a>.</p>
  
  <p>Here's the server side code which removes the userworklocation in #3.</p>
  
  <p><code>if (activeStatus != location.ActiveStatus &amp;&amp; location.ActiveStatus == 0)
              {
                  // remove all work location assignments<br>
   ClientContext.UserWorkLocations.RemoveRange(ClientContext.UserWorkLocations.Where(u =&gt; u.FkLocationId == location.LocationId));<br>
              }
       ClientContext.SaveChanges();</code></p>
  
  <p>I put a breakpoint on the server side call and also ensured it returns two. I can't understand how breeze reads 3 objects in the collection, the additional one being the one I deleted. Possibly caching? How do I work around it?</p>