title: Using TFS API, how can I find the comments which were made on a Code Review?
body: <p>I'm trying to figure out a way to find details about a Code Review Request / Response item in TFS2012.</p>
  
  <p>I can query for all Code Review Request/Response items in the following way:</p>
  
  <pre><code>const string TfsUri = "http://mytfsserver:8080/tfs/Default ProjectCollection";
  
  var tfs = new TfsTeamProjectCollection(new Uri(TfsUri));
  var store = tfs.GetService&lt;WorkItemStore&gt;();
  
  var versionStore = tfs.GetService&lt;Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer&gt;();
  
  var queryText = "SELECT [System.Id], 
                   FROM WorkItems 
                   WHERE [System.WorkItemType] = 'Code Review Request' 
                   or [System.WorkItemType] = 'Code Review Response'";
  var query = new Query(store, queryText);
  
  var result = query.RunQuery().OfType&lt;WorkItem&gt;();
  </code></pre>
  
  <p>This gives me a list of <code>WorkItem</code> types. When I loop over the <code>result.FirstOrDefault().Fields</code> property, it does give me some usefull information about the ShelveSet which is related to the Code Review, the "Associated Context". Using this information, I can query for the ShelveSet:</p>
  
  <pre><code>var versionStore = tfs.GetService&lt;VersionControlServer&gt;();
  var shelveset = versionStore.QueryShelvesets("someCodeReviewId_xxxx","someUserName");
  </code></pre>
  
  <p>this gives me a <code>ShelveSet</code> item, but that's where I get stuck.</p>
  
  <p>I've looked into the <code>Microsoft.TeamFoundation.CodeReview</code> namespace provided by both <code>Microsoft.TeamFoundation.CodeReview.Components</code> and <code>Microsoft.TeamFoundation.CodeReview.Controls</code> libraries, but this doesn't help me further either.</p>
  
  <p>My question is: How can I find the actual comments made on a ShelveSet during a Code Review (both General comments and File comments) through the TFS API?</p>