title: Linq to objects not "persisting" changes
body: <p>I am using linq to select a bunch of objects by Id through a facade object. This facade has a function <code>GetObjectById(string id)</code> which returns a MyObject. I select a bunch of object in one query based on a list of ids:</p>
  
  <pre><code>IEnumerable&lt;MyObject&gt; objects = 
     from id in ids   
     select facade.GetObjectById(id);
  </code></pre>
  
  <p>Then later I set some value on my objects like so:</p>
  
  <pre><code>foreach(MyObject object in objects)
  {
    object.someValue = "banaan";
  }
  </code></pre>
  
  <p>Later when I inspect the objects IEnumerable, <code>someValue</code> is not set to "banaan".</p>
  
  <p>It looks like it has something to do with the deferred execution of linq because when I put <code>.ToList()</code> behind the first query I <em>does</em> work. However, I thought I should be able to do something like this. What am I doing wrong here? Or is my understanding of how you should use linq wrong?</p>
  
  <p>Thanks in advance.</p>