title: Passing a object with a list to Web API
body: <p>I'm having trouble passing a list of objects via JSON to Web Api.</p>
  
  <p>The method:  </p>
  
  <pre><code>public HttpResponseMessage SubmitCourierRequest([FromBody]CRRequest request)
  {
      //code goes here
  }
  </code></pre>
  
  <p>The CRRequest object:</p>
  
  <pre><code>public class CRRequest
  {
      public List&lt;MediaItem&gt; MediaItems = new List&lt;MediaItem&gt;();
      public DistributionList DistributionList { get; set; }
      public string SendTo { get; set; }
      public string Subject { get; set; }
      public string Comments { get; set; }
  }
  </code></pre>
  
  <p>The media item class:</p>
  
  <pre><code>public abstract class MediaItem : INotifyPropertyChanged
  {
      [DataMember]
      public virtual string ID { get; set; }
  
      [DataMember]
      public double Longitude { get; set; }
  
      [DataMember]
      public double Latitude { get; set; }
  
      [DataMember]
      public int AgencyID { get; set; }
  
      ...
   }
  </code></pre>
  
  <p>The json I'm passing:</p>
  
  <pre><code>{
      "SendTo": "bob@bob.com",
      "Subject": "asda",
      "Comments": "asdasd",
      "ExpirationDate": "2016-11-01",
      "DistributionList": {
          "DistributionListID": "4"
      },
      "MediaItems": [{
          "ID": "001"
      }, 
      {
          "ID": "002"
      }]
  }
  </code></pre>
  
  <p>When I debug the method, I can get everything but the the media items, which gives me a count of 0.  Am I missing something here?</p>