title: Error when I try to read/update the .Body of a Task via EWS Managed API - "You must load or assign this property before you can read its value."
body: <p>I am using the Exchange Web Services Managed API to work with Tasks (Exchange 2007 SP1).  I can create them fine.  However, when I try to do updates, it works for all of the fields except for the .Body field.  Whenever I try to access (read/update) that field, it gives the following error:</p>
  
  <pre><code>"You must load or assign this property before you can read its value."
  </code></pre>
  
  <p>The code I am using looks like this: </p>
  
  <pre><code>   //impersonate the person whose tasks you want to read
     Me.Impersonate(userName); //home-made function to handle impersonation
  
     //build the search filter
     Exchange.SearchFilter.SearchFilterCollection filter = New Exchange.SearchFilter.SearchFilterCollection();
     filter.Add(New Exchange.SearchFilter.IsEqualTo(Exchange.TaskSchema.Categories, "Sales"));
  
     //do the search
     EWS.Task exTask = esb.FindItems(Exchange.WellKnownFolderName.Tasks, filter, New Exchange.ItemView(Integer.MaxValue));
  
     exTask.Subject = txtSubject.Text;  //this works fine
     exTask.Body = txtBody.Text; //This one gives the error implying that the object isn't loaded
  </code></pre>
  
  <p>The strange thing is that, inspecting the property bag shows that the object contains 33 properties, but {Body} is not one of them.  That property seems to be inherited from the base class .Item, or something.</p>
  
  <p>So, do I need to re-load the object as type Item?  Or reload it via .Bind or something?  Keep in mind that I need to do this with thousands of items, so efficiency does matter to me. </p>